Создавайте миграции Laravel из существующей базы данных, включая индексы и внешние ключи!
Обратите внимание, что изменения генератора Laravel 4 были перенесены на https://github.com/xethron/Laravel-4-Generators.git
для обновления совместимости.
Рекомендуемый способ установки — через композитор:
composer require --dev " xethron/migrations-generator "
В Laravel 5.5 поставщики услуг будут автоматически зарегистрированы.
В более старых версиях фреймворка отредактируйте config/app.php
и добавьте его в раздел поставщиков:
Way Generators GeneratorsServiceProvider::class,
Xethron MigrationsGenerator MigrationsGeneratorServiceProvider::class,
Если вам нужна эта библиотека только для разработчиков, вы можете добавить следующий код в файл app/Providers/AppServiceProvider.php
в методе register()
:
public function register ()
{
if ( $ this -> app -> environment () !== ' production ' ) {
$ this -> app -> register ( Way Generators GeneratorsServiceProvider::class);
$ this -> app -> register ( Xethron MigrationsGenerator MigrationsGeneratorServiceProvider::class);
}
// ...
}
Примечания:
feature/laravel-five-stable
был ответвлен от way/generators
3.0.3
и готов к использованию Laravel 5.0
. Джеффри Уэй прекратил поддержку Laravel 5, поэтому другой artisan generate:
команды, возможно, не были совместимы с 5.0
. Исследуйте artisan make:
для замены, внесите свой вклад в Laravel для расширения поддержки поколений или исправьте их и отправьте PR в jamisonvalenta/feature/laravel-five-stable
. Запустите следующую команду композитора:
composer require --dev " xethron/migrations-generator:~1.3.0 "
Затем добавьте следующих поставщиков услуг:
' WayGeneratorsGeneratorsServiceProvider ' ,
' XethronMigrationsGeneratorMigrationsGeneratorServiceProvider ' ,
И все готово. Чтобы дважды проверить, работает ли он, запустите php artisan
и найдите migrate:generate
Чтобы генерировать миграции из базы данных, вам необходимо настроить базу данных в конфигурации Laravel.
Запустите php artisan migrate:generate
, чтобы создать миграцию для всех таблиц, или вы можете указать таблицы, которые хотите сгенерировать, с помощью php artisan migrate:generate table1,table2,table3,table4,table5
. Вы также можете игнорировать таблицы с помощью --ignore="table3,table4,table5"
Генератор миграции Laravel сначала сгенерирует все таблицы, столбцы и индексы, а затем настроит все ограничения внешнего ключа. Поэтому убедитесь, что вы включили все таблицы, перечисленные во внешних ключах, чтобы они присутствовали при создании внешних ключей.
Вы также можете указать имя соединения, если вы не используете соединение по умолчанию, с помощью --connection="connection_name"
Запустите php artisan help migrate:generate
, чтобы получить список опций.
Ознакомьтесь с сообщением в блоге Чунг Трана, где вы найдете краткое пошаговое введение: Создание миграций из существующей базы данных в Laravel 4.
Журнал изменений в генераторе миграций Laravel
Спасибо Джеффри Уэю за его потрясающий пакет Laravel-4-Generators. Этот пакет во многом зависит от его работы.
Бернхард Брейтенбах (@BBreyten)
Laravel Migrations Generator — это программное обеспечение с открытым исходным кодом, лицензированное по лицензии MIT.