Как я могу установить уже перенесенные миграции в качестве перенесенных миграций в Laravel без migrate: fresh?

#laravel #laravel-migrations

#laravel #laravel-миграции

Вопрос:

У меня в базе данных 20 таблиц. и я хочу перенести новую в базу данных. Но я получаю сообщение об ошибке :

Базовая таблица или представление уже существует: таблица 1050 ‘house_statuses’ уже существует.

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

Я вижу некоторые решения, такие как yeah Migrate:fresh , Но я не хочу удалять свои записи в базе данных, потому что для восстановления записей требуется так много работы

Комментарии:

1. Почему бы вам не создать новую миграцию?

2. В чем разница? я

3. Взгляните на мой ответ

Ответ №1:

Если вы хотите вставить больше столбцов в свою таблицу, вам следует использовать Schema::table , например:

Допустим, вам нужен еще один столбец в вашей users таблице, вы можете просто сделать это:

Используйте команду:

 php artisan make:migration add_age_to_users_table --table=users
  
 Schema::table('users', function (Blueprint $table) {
    $table->integer('age');
});
  

А затем использовать:

 php artisan migrate
  

Таким образом, ваша users таблица будет обновлена новым столбцом age

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

Ответ №2:

Выполните следующие действия:

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

  2. Скопировать имя файла

  3. Вставьте имя файла в таблицу миграций.

Это может вам помочь.

Комментарии:

1. Это уже в таблице миграций. и я удалил его и добавил обратно, но он все еще не работает