Я создал базу данных MYSQL с помощью миграций, я добавил в нее некоторые данные, но после этого я понял, что мне нужно добавить новый столбец в мою таблицу.
Я выполнил команду: 'php artisan migrate', но так как синхронизация не сработала столбцы, он возвращает, что мигрировать нечего.
Итак, я выполнил команду php artisan migrate: reset, а затем выполнил команду 'php artisan migrate' снова, схема базы данных обновлена правильно, но я точно потерял все мои вставленные данные.
Сейчас я просто тестирую приложение, но было бы очень вредно, если бы я узнал, что мне нужно изменить свою базу данных, пока она работает с реальными данными !!! Что мне делать в этом случае?
следует ли пропустить использование миграции и создать базу данных Mysql напрямую с помощью вамп? или использовать миграцию, но выполнять любые последующие обновления непосредственно в базе данных без обновления файлов миграции? или есть другое решение?
Возможный дубликат Laravel 5.2 как обновить миграцию без потери данных
Это зависит от того, чего вы хотите. Если вы добавите в таблицу дополнительный столбец, вы НЕ потеряете данные. Выполнение команды сброса просто очистит всю вашу базу данных. Прочтите документацию по миграциям laravel.com/docs/5.6/migrations






вы можете создать миграцию для изменения ваших таблиц. добавить новые столбцы и многое другое.
Отвечать
Если вы уже создали таблицу базы данных и понимаете, что вам нужно добавить в нее больше, вы можете просто запустить: php artisan make:migration add_field_to_table_name --table=tableName
Затем вы заходите в этот файл и создаете новое поле. После этого просто запустите php artisan migrate, и он добавит новое поле в нужную таблицу, не вызывая потери данных.
Сеялки
С другой стороны, я настоятельно рекомендую изучить сеялки. Таким образом, когда вы создаете проект, вы всегда можете обновить свои миграции (стереть базу данных и повторно перенести таблицы), а затем повторно ввести данные с помощью сидеров.
Это работает спасибо
Привет, пожалуйста, проверьте это stackoverflow.com/questions/39934276/…