#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. Это уже в таблице миграций. и я удалил его и добавил обратно, но он все еще не работает