* @copyright (c), Thread */ class m160705_103701_create_table_city extends Migration { /** * @var string */ public $table = '{{%location_city}}'; /** * @var string */ public $tableCountry = '{{%location_country}}'; /** * */ public function init() { $this->db = ParentModule::getDb(); parent::init(); } /** * Implement migration */ public function safeUp() { $this->createTable( $this->table, [ 'id' => $this->primaryKey()->unsigned()->comment('ID'), 'alias' => $this->string(128)->notNull()->unique()->comment('alias'), 'default_title' => $this->string(255)->defaultValue('')->comment('Default title'), 'country_id' => $this->integer()->unsigned()->comment('country_id'), 'created_at' => $this->integer()->unsigned()->notNull()->defaultValue(0)->comment('Create time'), 'updated_at' => $this->integer()->unsigned()->notNull()->defaultValue(0)->comment('Update time'), 'published' => "enum('0','1') NOT NULL DEFAULT '0' COMMENT 'published'", 'deleted' => "enum('0','1') NOT NULL DEFAULT '0' COMMENT 'deleted'" ] ); $this->createIndex('published', $this->table, 'published'); $this->createIndex('deleted', $this->table, 'deleted'); $this->addForeignKey( 'fv_location_city_ibfk_1', $this->table, 'country_id', $this->tableCountry, 'id', 'CASCADE', 'CASCADE' ); } /** * Cancel migration */ public function safeDown() { $this->dropForeignKey('fv_location_city_ibfk_1', $this->table); $this->dropIndex('deleted', $this->table); $this->dropIndex('published', $this->table); $this->dropTable($this->table); } }