Как создать миграцию из существующей базы данных в laravel
Я новичок в laravel
, я знаю команду для создания базы данных из laravel
миграция.
Я уже создал базу данных в mysql
, так как я могу преобразовать миграцию из этой базы данных.
8 ответов
Вы можете использовать инструмент генератора Джеффри Вей для Laravel 4, и делать это вручную. Это очень полезный инструмент. https://github.com/JeffreyWay/Laravel-4-Generators (если вы используете Laravel 5, используйте вместо этого этот пакет: https://github.com/laracasts/Laravel-5-Generators-Extended)
Или вы можете попробовать один из следующих пакетов, они должны преобразовать вашу существующую схему в миграцию Laravel. Я не пробовал их, но посмотрите:
Кроме того, прочитайте следующий ответ в другом вопросе, который может быть полезен вам или другим: обратное проектирование или автогенерация сущностей в Laravel?
Для современных версий Laravel вам, вероятно, следует использовать такой пакет, как https://github.com/kitloong/laravel-migrations-generator .
Проверьте, что этот пакет от Kitloong действительно прост в использовании.
https://github.com/kitloong/laravel-миграции-генератор
После установки просто запустите что-то вроде этого, чтобы экспортировать миграцию в выбранное вами место:
php artisan migrate:generate --path="path\to\existing\folder"
Пример:
php artisan migrate:generate --path="C:\xampp\htdocs\laravel_bs4\database\migrations\my_new_migrations"
Вы должны получить миграции, созданные из базы данных и сохраненные в указанном вами месте.
Вы можете опустить
--path
вариант и просто запустите
php artisan migrate:generate
Это приведет к экспорту его в папку миграции Laravel по умолчанию (чего я обычно не хочу).
Обязательно следуйте подсказкам. Придерживаться значения по умолчанию обычно нормально.
Я быстро написал этот скрипт на python для создания файлов миграции из существующей базы данных.
https://github.com/aljorhythm/sql-to-laravel-migrations
После настройки просто сделайте
python retrieve-and-convert.py
Как насчет этого?
Генератор миграций. Это для Laravel, 4, 5, 6, 7, но я не знаю, для Laravel 8.
Простое решение: использовать онлайн-генератор миграции Laravel для существующей схемы таблицы SQL без установки какого-либо пакета. Просто введите свою схему SQL и получите файл миграции Laravel. Попробуйте: https://laravelarticle.com/laravel-migration-generator-online
Если вы не против использовать в своем проекте Doctrine 2 вместо Eloquent, в котором встроена обратная инженерия.
Для laravel 9 перейдите по ссылке ниже
https://laravel.com/docs/9.x/migrations#generating-migrations