Download the PHP package shrrgnien/sequencial-migrations without Composer
On this page you can find all versions of the php package shrrgnien/sequencial-migrations. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download shrrgnien/sequencial-migrations
More information about shrrgnien/sequencial-migrations
Files in shrrgnien/sequencial-migrations
Package sequencial-migrations
Short Description Pacote para rodar migrations customizadas de forma sequencial no Laravel.
License MIT
Informations about the package sequencial-migrations
Sequencial Migrations
Pacote Laravel para rodar migrations customizadas de forma sequencial (em ordem definida).
Vantagens
- Exibe cenários de erro de forma mais amigável: ao invés de quebrar toda a sequência de migrations, permite identificar e tratar apenas a migration problemática, sem interromper o restante.
- Permite reajustar rapidamente a sequência: se uma migration falhar, é fácil corrigir e continuar de onde parou, sem precisar reverter tudo.
- Evita erros comuns de deploy: ao garantir a ordem e pular migrations já aplicadas, reduz riscos de inconsistências em ambientes diferentes.
- Facilita o trabalho com bancos de dados legados: muitos bancos legados foram criados sem migrations. Com este pacote, é possível rodar migrations específicas para alterar ou preparar o banco legado antes de migrá-lo, sem precisar executar todas as migrations novamente.
- Útil em cenários com múltiplos bancos: permite rodar apenas migrations pontuais em bancos legados, sem afetar o banco novo ou o restante do sistema.
-
Ideal para transição de bancos legados para novos: possibilita migrar tabelas antigas para o padrão Laravel de forma controlada e incremental, aplicando partes do schema novo sem afetar o legado, tornando a migração mais segura e previsível.
- Permite definir uma lista de migrations customizadas (nomeadas ou anônimas) para serem executadas em ordem específica.
- Suporta tanto migrations padrão do Laravel quanto arquivos de migration anônimos.
- Executa o método
up()de cada migration, pulando automaticamente migrations já aplicadas (baseado na existência da tabela). - Executa o método
down()de cada migration, revertendo na ordem inversa e pulando migrations já revertidas. - Registra e remove as migrations na tabela padrão
migrationsdo Laravel, mantendo o histórico/batch. - Detecta automaticamente o nome da tabela criada/removida pela migration (por propriedade, método ou parsing do método
up). - Comando Artisan
migrate:basepara rodar todas as migrations customizadas em ordem, com suporte aupedown. - Não requer registro manual do Service Provider graças ao Laravel Package Discovery.
Instalação
Publicando o arquivo BaseMigration
Após instalar, publique o arquivo base para definir suas migrations:
Isso irá criar o arquivo database/migrations/BaseMigration.php no seu projeto. Edite esse arquivo para definir a ordem das suas migrations.
Uso
Importando migrations automaticamente para o BaseMigration
Você pode popular o array $migrations do arquivo database/migrations/BaseMigration.php automaticamente com as migrations do seu projeto usando o comando Artisan:
Opções disponíveis:
all: importa todas as migrations (nomeadas e anônimas) encontradas na pastadatabase/migrations(exceto o próprio BaseMigration.php), sem duplicidade.pending: importa apenas as migrations que ainda não foram executadas (pendentes).executed: importa apenas as migrations já executadas (presentes na tabelamigrations).
Exemplos:
Importar todas as migrations:
Importar apenas as pendentes:
Importar apenas as já executadas:
O comando irá atualizar automaticamente o array $migrations do arquivo BaseMigration.php.
-
Edite manualmente ou utilize o comando acima para popular a propriedade
$migrationsemdatabase/migrations/BaseMigration.php.- Você pode misturar migrations nomeadas (classes) e migrations anônimas (arquivos que retornam um objeto Migration).
-
Exemplo:
- Para migrations nomeadas, use apenas o nome da classe (sem namespace).
- Para migrations anônimas, use o nome do arquivo (sem extensão .php).
-
Coloque suas migrations customizadas na pasta padrão do Laravel
- Os arquivos devem estar em
database/migrationsdo seu projeto Laravel.
- Os arquivos devem estar em
-
Execute as migrations em ordem
-
Use o comando Artisan:
- Para reverter (down), use:
-
Exemplo de migration nomeada
Depois, adicione 'CreateProdutosTable' no array $migrations da sua BaseMigration.
Licença
MIT