createTable( 'label', [ 'id' => $this->primaryKey(), 'sort' => $this->integer() ->defaultValue(0), 'value' => $this->decimal(), 'status' => $this->boolean() ->defaultValue(true), ] ); $this->createTable( 'label_lang', [ 'label_id' => $this->integer() ->notNull(), 'language_id' => $this->integer() ->notNull(), 'title' => $this->string() ->notNull(), 'description' => $this->text(), ] ); $this->addPrimaryKey( 'label_lang_pkey', 'label_lang', [ 'label_id', 'language_id', ] ); $this->addForeignKey( 'label_lang_label_id_fkey', 'label_lang', 'label_id', 'label', 'id', 'CASCADE', 'CASCADE' ); $this->addForeignKey( 'label_lang_language_id_fkey', 'label_lang', 'language_id', 'language', 'id', 'RESTRICT', 'CASCADE' ); } /** * @inheritdoc */ public function down() { $this->dropForeignKey('label_lang_label_id_fkey', 'label_lang'); $this->dropForeignKey('label_lang_language_id_fkey', 'label_lang'); $this->dropTable('label_lang'); $this->dropTable('label'); } }