миграция yii2 генерирует createTable вместо addColumn - PullRequest
0 голосов
/ 22 января 2020

У меня проблемы с автоматическим созданием миграций с расширениями bizley / yii2 -igration-creator при обновлении таблиц. Первоначально он работает, как и ожидалось, с новыми таблицами:

<?php

use yii\db\Migration;

class m200122_110631_update_table_yii_urban_tourdate extends Migration
{
    public function up()
    {
        $this->createTable('{{%urban_tourdate}}', [
            'id' => $this->primaryKey(),
            'name' => $this->string()->notNull(),
            'time' => $this->dateTime(),
            'duration' => $this->integer(),
            'tour_id' => $this->integer(),
            'tourguide_id' => $this->integer(),
            'tourcourse_id' => $this->integer(),
            'start_station_id' => $this->integer(),
            'stop_station_id' => $this->integer(),
            'status' => $this->integer(3)->notNull(),
            'created_by' => $this->integer(),
            'updated_by' => $this->integer(),
            'created_at' => $this->integer(),
            'updated_at' => $this->integer(),
        ]);

    }

    public function down()
    {
        $this->dropTable('{{%urban_tourdate}}');
    }
}

Затем после добавления столбца непосредственно в базу данных и создания другой миграции я получаю оператор createTable, как указано выше (с добавленным столбцом), что приводит к ошибке (таблица уже существует) при применении миграции.

Я ожидал бы получить только оператор addColumn, подобный этому:

public function up()
{
    $this->addColumn('urban_tourdate', 'position', $this->integer());
}

Что я делаю не так? Спасибо!

1 Ответ

0 голосов
/ 01 мая 2020

Вы должны позвонить

yii migration/update urban_tourdate

во второй раз (не create).

...