Gere migrações Laravel a partir de um banco de dados existente, incluindo índices e chaves estrangeiras!
Observe que as edições do Laravel 4 Generator foram movidas para https://github.com/xethron/Laravel-4-Generators.git
para atualizar a compatibilidade.
A maneira recomendada de instalar isso é através do compositor:
composer require --dev " xethron/migrations-generator "
No Laravel 5.5 os provedores de serviço serão cadastrados automaticamente.
Em versões mais antigas da estrutura, edite config/app.php
e adicione isto à seção de provedores:
Way Generators GeneratorsServiceProvider::class,
Xethron MigrationsGenerator MigrationsGeneratorServiceProvider::class,
Se você deseja esta biblioteca apenas para dev, você pode adicionar o seguinte código ao seu arquivo app/Providers/AppServiceProvider.php
, dentro do método register()
:
public function register ()
{
if ( $ this -> app -> environment () !== ' production ' ) {
$ this -> app -> register ( Way Generators GeneratorsServiceProvider::class);
$ this -> app -> register ( Xethron MigrationsGenerator MigrationsGeneratorServiceProvider::class);
}
// ...
}
Notas:
feature/laravel-five-stable
foi bifurcado do way/generators
3.0.3
e foi preparado para o Laravel 5.0
. Jeffrey Way descontinuou o suporte para Laravel 5, então o outro artisan generate:
comandos podem não ter se tornado compatíveis com 5.0
. Investigue o artisan make:
comandos para substitutos, contribua com o Laravel para estender o suporte à geração ou corrija-o e envie um PR para jamisonvalenta/feature/laravel-five-stable
. Execute o seguinte comando do compositor:
composer require --dev " xethron/migrations-generator:~1.3.0 "
Em seguida, adicione os seguintes provedores de serviços:
' WayGeneratorsGeneratorsServiceProvider ' ,
' XethronMigrationsGeneratorMigrationsGeneratorServiceProvider ' ,
E você está pronto. Para verificar se está funcionando, execute php artisan
e procure o comando migrate:generate
Para gerar migrações a partir de um banco de dados, você precisa ter seu banco de dados configurado no Config do Laravel.
Execute php artisan migrate:generate
para criar migrações para todas as tabelas, ou você pode especificar as tabelas que deseja gerar usando php artisan migrate:generate table1,table2,table3,table4,table5
. Você também pode ignorar tabelas com --ignore="table3,table4,table5"
O Laravel Migrations Generator irá primeiro gerar todas as tabelas, colunas e índices, e depois configurar todas as restrições de chave estrangeira. Portanto, certifique-se de incluir todas as tabelas listadas nas chaves estrangeiras para que estejam presentes quando as chaves estrangeiras forem criadas.
Você também pode especificar o nome da conexão se não estiver usando sua conexão padrão com --connection="connection_name"
Execute php artisan help migrate:generate
para obter uma lista de opções.
Confira a postagem do blog de Chung Tran para uma rápida introdução passo a passo: Gerar migrações a partir de um banco de dados existente no Laravel 4
Changelog para gerador de migrações Laravel
Obrigado a Jeffrey Way por seu incrível pacote Laravel-4-Generators. Este pacote depende muito do trabalho dele.
Bernhard Breytenbach (@BBreyten)
O Laravel Migrations Generator é um software de código aberto licenciado sob a licença MIT