db->getTableSchema($table); $normalName = self::normalizeTablename($name); if (!array_key_exists($normalName, $tableSchema->foreignKeys)) { parent::addForeignKey($name, $table, $columns, $refTable, $refColumns, $delete, $update); } else { $message = Console::ansiFormat( Yii::t( 'console', "Внешний ключ - «{FK}» уже существует в таблице - «{TABLE}»", [ 'FK' => $name, 'TABLE' => self::normalizeTablename($table), ] ), [Console::FG_GREEN] ); echo $message . PHP_EOL; } } public function dropForeignKey($name, $table) { $tableSchema = $this->db->getTableSchema($table); $normalName = self::normalizeTablename($name); if (array_key_exists($normalName, $tableSchema->foreignKeys)) { parent::dropForeignKey($name, $table); } else { $message = Console::ansiFormat( Yii::t( 'console', "Внешний ключ - «{FK}» не найден в таблице - «{TABLE}»", [ 'FK' => $name, 'TABLE' => self::normalizeTablename($table), ] ), [Console::FG_YELLOW] ); echo $message . PHP_EOL; } } }