migrations / migrations-generator
Pacote Laravel para gerar automaticamente arquivos de migrations a partir do banco de dados
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/migrations/migrations-generator
Requires
- php: >=7.2
- illuminate/console: ^9|^10|^11|^12
- illuminate/support: ^9|^10|^11|^12
This package is auto-updated.
Last update: 2025-12-23 20:49:12 UTC
README
Pacote Laravel 12 para gerar automaticamente arquivos de migrations e seeds a partir de um banco de dados MySQL ou PostgreSQL.
Requisitos
- PHP >= 7.2
- Laravel 8, 9, 10, 11 ou 12
Instalação
-
No seu projeto Laravel, execute:
composer require saviorenato/migrations-generator --dev
-
O pacote utiliza autodiscovery do Laravel; o service provider será registrado automaticamente.
Observação: se preferir instalar como dependência de produção, remova o
--dev.
Uso
Para gerar as migrations e os seeds com base na estrutura atual do banco, basta executar os comandos:
Para as migrations:
php artisan generate:migrations
Para os seeds:
php artisan generate:seeds
Após rodar o comando php artisan generate:seeds, abra o arquivo principal de seed (geralmente database/seeds/DatabaseSeeder.php) e adicione a linha abaixo dentro do método run():
$this->call((new NewDatabaseSeeder)->run());
Os comandos irão:
- Ler todas as tabelas do banco (exceto a tabela padrão
migrations). - Criar, em
database/migrations, arquivos de migrations nomeados no formatoYYYY_MM_DD_HHMMSS_create_{nome_tabela}_table.php. - Criar, em
database/seeds, arquivos de seed correspondentes para popular suas tabelas. - Cada migration gerada conterá:
- Método
up()comSchema::create('{tabela}', …)para recriar a tabela. - Método
down()comSchema::dropIfExists('{tabela}')para excluir a tabela.
- Método
Personalização
Se quiser ajustar algum detalhe, edite o comando em:
src/Console/GenerateMigrationsCommand.php
ou no comando de seeds, se aplicável.
Limitações
- Não gera índices, chaves estrangeiras, triggers ou constraints.
- Não suporta colunas compostas (composite keys) ou tipos avançados de colunas (JSON, enums, etc.) automaticamente.
Contribuições
-
Faça um fork deste repositório.
-
Crie uma branch para sua feature ou correção:
git checkout -b feature-nova
-
Faça commit das suas alterações:
git commit -m "Descrição da sua contribuição" -
Envie um pull request para análise.
Licença
Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE.txt para mais detalhes.
Autor
Sávio Pereira (saviorenato@gmail.com)