Производственная миграция свежая - PullRequest
0 голосов
/ 04 декабря 2018

Как это работает, если я хочу добавить новый столбец в производственную таблицу?Я знаю, что потерю все данные при выполнении миграции: fresh.

1) возможно ли изменить миграцию и добавить новый столбец, как я это сделал со столбцом fastnetnr?

 public function up()
    {
        Schema::create('kontaktforms', function (Blueprint $table) {
            $table->increments('id');
            $table->string('navn');
            $table->string('mobilnr');
            //new fastnetnr column added
            $table->string('fastnetnr')->nullable();
            $table->string('mail');
            $table->string('emne');
            $table->text('beskrivelse');
            $table->timestamps();
        });

2) Или мне нужно добавить новый столбец с php artisan, чтобы вывод был таким?

public function up()
{
    Schema::table('kontaktforms', function($table) {
        $table->string('fastnetnr')->nullable();
    });
}

1 Ответ

0 голосов
/ 04 декабря 2018

Логически вы можете сделать это, выполнив следующие шаги:

  1. откат вашей таблицы php artisan migrate:rollback или php artisan migrate:rollback --step=1
  2. редактирование файла миграции
  3. миграция назад php artisan migrate

но это не лучшая практика, особенно на производстве.поэтому вам нужно создать новый файл миграции для изменения таблицы и перенести его.

создать новый файл миграции

php artisan make:migration add_fastnetnr_to_kontaktforms_table --table=kontaktforms

и добавить новый столбец, подобный этому

public function up()
{
    Schema::table('kontaktforms', function (Blueprint $table) {
        $table->string('fastnetnr')->nullable();
    });
}


public function down()
{
    Schema::table('kontaktforms', function (Blueprint $table) {
        $table->dropColumn('fastnetnr');
    });
}

и мигрировать

php artisan migrate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...