7 use Phinx\Migration\AbstractMigration;
19 "cucorerequests_idx01" => array(
"cols"=>
"cu, accountnumber, request_start, request_end"),
20 "cucorerequests_idx02" => array(
"cols"=>
"appliance_ip, accountnumber, request_start, request_end"),
21 "cucorerequests_idx03" => array(
"cols"=>
"cu, request_type, request_start, request_end")
24 $tableName =
"cucorerequests";
25 $tableExists = $this->hasTable( $tableName );
27 foreach ($indexNames as $index => $cols) {
28 $indexName = $tableName .
"_" . $index;
29 $indexColumns = $cols[
'cols'];
34 SELECT COUNT(*) FROM pg_class pgc 35 WHERE pgc.relname = '{$indexName}' 36 AND pgc.relkind = 'i'";
38 $idxCount = $this->fetchAll($sql);
39 $idxExists = intval($idxCount[0][
'count']);
41 if ($tableExists && $idxExists == 0) {
42 $sql =
"CREATE INDEX {$indexName} ON {$tableName} USING btree ($indexColumns)";
43 $sqlRs = $this->query($sql);
53 public function down()
57 "cucorerequests_idx01" => array(
"cols"=>
"cu, accountnumber, request_start, request_end"),
58 "cucorerequests_idx02" => array(
"cols"=>
"appliance_ip, accountnumber, request_start, request_end"),
59 "cucorerequests_idx03" => array(
"cols"=>
"cu, request_type, request_start, request_end")
62 $tableName =
"cucorerequests";
63 $tableExists = $this->hasTable( $tableName );
65 foreach ($indexNames as $index => $cols) {
66 $indexName = $tableName .
"_" . $index;
67 $indexColumns = $cols[
'cols'];
71 SELECT COUNT(*) FROM pg_class pgc 72 WHERE pgc.relname = '{$indexName}' 73 AND pgc.relkind = 'i'";
75 $idxCount = $this->fetchAll($sql);
76 $idxExists = intval($idxCount[0][
'count']);
78 if ($tableExists && $idxExists > 0) {
79 $sql =
"DROP INDEX {$indexName}";
80 $sqlRs = $this->query($sql);