Как изменить миграции и перенести их без потери данных?

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

Я выполнил команду: 'php artisan migrate', но так как синхронизация не сработала столбцы, он возвращает, что мигрировать нечего.

Итак, я выполнил команду php artisan migrate: reset, а затем выполнил команду 'php artisan migrate' снова, схема базы данных обновлена ​​правильно, но я точно потерял все мои вставленные данные.

Сейчас я просто тестирую приложение, но было бы очень вредно, если бы я узнал, что мне нужно изменить свою базу данных, пока она работает с реальными данными !!! Что мне делать в этом случае?

следует ли пропустить использование миграции и создать базу данных Mysql напрямую с помощью вамп? или использовать миграцию, но выполнять любые последующие обновления непосредственно в базе данных без обновления файлов миграции? или есть другое решение?

Привет, пожалуйста, проверьте это stackoverflow.com/questions/39934276/…

Khrisna Gunanasurya 10.04.2018 10:34

Возможный дубликат Laravel 5.2 как обновить миграцию без потери данных

Kyslik 10.04.2018 10:40

Это зависит от того, чего вы хотите. Если вы добавите в таблицу дополнительный столбец, вы НЕ потеряете данные. Выполнение команды сброса просто очистит всю вашу базу данных. Прочтите документацию по миграциям laravel.com/docs/5.6/migrations

killstreet 10.04.2018 10:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
3
2 436
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Ответ принят как подходящий

Отвечать

Если вы уже создали таблицу базы данных и понимаете, что вам нужно добавить в нее больше, вы можете просто запустить: php artisan make:migration add_field_to_table_name --table=tableName

Затем вы заходите в этот файл и создаете новое поле. После этого просто запустите php artisan migrate, и он добавит новое поле в нужную таблицу, не вызывая потери данных.


Сеялки

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

Это работает спасибо

Mohamed Raza 01.12.2020 13:39

Другие вопросы по теме