m160928_100918_create_page_lang_table.php 1.39 KB
<?php

use yii\db\Migration;

/**
 * Handles the creation for table `page_lang`.
 */
class m160928_100918_create_page_lang_table extends Migration
{
    /**
     * @inheritdoc
     */
    public function up()
    {
        $this->createTable('page_lang', [
            'page_id'      => $this->integer()
                                       ->notNull(),
            'language_id'      => $this->integer()
                                       ->notNull(),
            'title'            => $this->string()
                                       ->notNull(),
            'body'             => $this->text()
                                       ->notNull(),
            'meta_title'       => $this->string(),
            'meta_keywords'    => $this->string(),
            'meta_description' => $this->string(),
            'seo_text'         => $this->text(),
            'h1'               => $this->string(),
        ]);
    
        $this->createIndex('page_lang_page_language_key', 'page_lang', [
            'page_id',
            'language_id',
        ], true);
    
        $this->addForeignKey('page_fk', 'page_lang', 'page_id', 'page', 'id', 'CASCADE', 'CASCADE');
        $this->addForeignKey('language_fk', 'page_lang', 'language_id', 'language', 'language_id', 'RESTRICT', 'CASCADE');
    }

    /**
     * @inheritdoc
     */
    public function down()
    {
        $this->dropTable('page_lang');
    }
}