本文整理汇总了PHP中CRM_Logging_Schema::fixSchemaDifferencesForAll方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Logging_Schema::fixSchemaDifferencesForAll方法的具体用法?PHP CRM_Logging_Schema::fixSchemaDifferencesForAll怎么用?PHP CRM_Logging_Schema::fixSchemaDifferencesForAll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Logging_Schema
的用法示例。
在下文中一共展示了CRM_Logging_Schema::fixSchemaDifferencesForAll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testRebuildTriggerAfterSchemaChange
/**
* Check that if a field is added then the trigger is updated on refresh.
*/
public function testRebuildTriggerAfterSchemaChange()
{
$this->callAPISuccess('Setting', 'create', array('logging' => TRUE));
$tables = array('civicrm_acl', 'civicrm_website');
foreach ($tables as $table) {
CRM_Core_DAO::executeQuery("ALTER TABLE {$table} ADD column temp_col INT(10)");
}
$schema = new CRM_Logging_Schema();
$schema->fixSchemaDifferencesForAll(TRUE);
foreach ($tables as $table) {
$this->assertTrue($this->checkColumnExistsInTable('log_' . $table, 'temp_col'), 'log_' . $table . ' has temp_col');
$dao = CRM_Core_DAO::executeQuery("SHOW TRIGGERS LIKE '{$table}'");
while ($dao->fetch()) {
$this->assertContains('temp_col', $dao->Statement);
}
}
CRM_Core_DAO::executeQuery("ALTER TABLE civicrm_acl DROP column temp_col");
CRM_Core_DAO::executeQuery("ALTER TABLE civicrm_website DROP column temp_col");
}