m160721_073703_insert_default_news.php 3.28 KB
<?php

use yii\db\Migration;
use thread\modules\news\News as ParentModule;

/**
 * Class m160721_073703_insert_default_news
 *
 * @author FilamentV <vortex.filament@gmail.com>
 * @copyright (c), Thread
 */
class m160721_073703_insert_default_news extends Migration
{
    /**
     * @var string
     */
    public $tableNewsGroup = '{{%news_group}}';

    /**
     * @var string
     */
    public $tableNewsGroupLang = '{{%news_group_lang}}';

    /**
     * @var string
     */
    public $tableNewsArticle = '{{%news_article}}';

    /**
     * @var string
     */
    public $tableNewsArticleLang = '{{%news_article_lang}}';

    /**
     *
     */
    public function init()
    {
        $this->db = ParentModule::getDb();
        parent::init();
    }

    /**
     *
     */
    public function safeUp()
    {
        /** Insert news_group */
        $this->batchInsert(
            $this->tableNewsGroup,
            [
                'id',
                'alias',
                'created_at',
                'updated_at',
                'published',
                'deleted',
            ],
            [
                [
                    'id' => 1,
                    'alias' => 'test',
                    'created_at' => time(),
                    'updated_at' => time(),
                    'published' => '1',
                    'deleted' => '0',
                ],
            ]
        );

        /** Insert news_group_lang */
        $this->batchInsert(
            $this->tableNewsGroupLang,
            [
                'rid',
                'lang',
                'title',
            ],
            [
                [
                    'rid' => 1,
                    'lang' => 'en-EN',
                    'title' => 'Test group',
                ],
            ]
        );

        /** Insert news_article */
        $this->batchInsert(
            $this->tableNewsArticle,
            [
                'id',
                'group_id',
                'alias',
                'image_link',
                'published_time',
                'created_at',
                'updated_at',
                'published',
                'deleted',
            ],
            [
                [
                    'id' => 1,
                    'group_id' => 1,
                    'alias' => 'news1',
                    'image_link' => '',
                    'published_time' => time(),
                    'created_at' => time(),
                    'updated_at' => time(),
                    'published' => '1',
                    'deleted' => '0',
                ],
            ]
        );

        /** Insert news_article_lang */
        $this->batchInsert(
            $this->tableNewsArticleLang,
            [
                'rid',
                'lang',
                'title',
                'description',
                'content',
            ],
            [
                [
                    'rid' => 1,
                    'lang' => 'en-EN',
                    'title' => 'Тест новость',
                    'description' => 'Тест новость description',
                    'content' => 'Тест новость content'
                ],
            ]
        );
    }

    public function safeDown()
    {
        //TODO:: m160721_073703_insert_default_news
    }
}