Browse Source

improved checkIntegrity method

tags/2.0.0-beta
Mark 11 years ago
parent
commit
6a9509ed8d
  1. 7
      framework/yii/db/pgsql/QueryBuilder.php

7
framework/yii/db/pgsql/QueryBuilder.php

@ -106,15 +106,14 @@ class QueryBuilder extends \yii\db\QueryBuilder
public function checkIntegrity($check = true, $schema = '', $table = '') public function checkIntegrity($check = true, $schema = '', $table = '')
{ {
$enable = $check ? 'ENABLE' : 'DISABLE'; $enable = $check ? 'ENABLE' : 'DISABLE';
$schema = $schema ? $schema : $this->db->schema->defaultSchema;
$tableNames = $table ? [$table] : $this->db->schema->findTableNames($schema); $tableNames = $table ? [$table] : $this->db->schema->findTableNames($schema);
$command = ''; $command = '';
foreach($tableNames as $tableName) foreach($tableNames as $tableName)
{ {
$tableName='"'.$tableName.'"'; $tableName='"'.$schema.'"."'.$tableName.'"';
if(strpos($tableName,'.')!==false) $command .= "ALTER TABLE $tableName $enable TRIGGER ALL; ";
$tableName=str_replace('.','"."',$tableName);
$command .= "ALTER TABLE $tableName $enable TRIGGER ALL; ";
} }
#enable to have ability to alter several tables #enable to have ability to alter several tables

Loading…
Cancel
Save