createTable( 'payment', [ 'id' => $this->primaryKey(), 'sort' => $this->integer() ->defaultValue(0), 'status' => $this->boolean() ->defaultValue(true), ] ); $this->createTable( 'payment_lang', [ 'payment_id' => $this->integer() ->notNull(), 'language_id' => $this->integer() ->notNull(), 'title' => $this->string() ->notNull(), 'description' => $this->text(), ] ); $this->addPrimaryKey( 'payment_lang_pkey', 'payment_lang', [ 'payment_id', 'language_id', ] ); $this->addForeignKey( 'payment_lang_payment_id_fkey', 'payment_lang', 'payment_id', 'payment', 'id', 'CASCADE', 'CASCADE' ); $this->addForeignKey( 'payment_lang_language_id_fkey', 'payment_lang', 'language_id', 'language', 'id', 'RESTRICT', 'CASCADE' ); } /** * @inheritdoc */ public function down() { $this->dropForeignKey('payment_lang_payment_id_fkey', 'payment_lang'); $this->dropForeignKey('payment_lang_language_id_fkey', 'payment_lang'); $this->dropTable('payment_lang'); $this->dropTable('payment'); } }