"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Habilidades de gerenciamento de migração de banco de dados PHP

Habilidades de gerenciamento de migração de banco de dados PHP

Postado em 2025-04-16
Navegar:944

How to Manage Database Migrations in PHP

como gerenciar migrações de banco de dados em php

As migrações de banco de dados são uma parte essencial do desenvolvimento de aplicativos, pois permitem que os desenvolvedores controlem e gerenciem alterações no esquema de banco de dados de maneira consistente e estruturada. No PHP, o gerenciamento de migrações de banco de dados pode ser feito manualmente, mas é mais eficiente e menos propenso a usar uma ferramenta de migração que automatiza o processo. Uma ferramenta de migração fornece uma maneira organizada de lidar com mudanças de esquema, mantendo o banco de dados em sincronia com o código do aplicativo.

Neste artigo, exploraremos como gerenciar migrações de banco de dados no PHP, incluindo o uso de bibliotecas populares, melhores práticas e exemplos práticos.


1. O que são migrações de banco de dados?

As migrações de banco de dados são uma maneira de versificar as alterações no esquema do banco de dados (por exemplo, criar, atualizar ou excluir tabelas e colunas) e aplicar essas alterações de maneira controlada. As migrações permitem que as equipes:

  • Rastrear as alterações : as migrações fornecem um histórico de versões de versões versistas de alterações do esquema, permitindo que as equipes rastreem quais mudanças foram feitas e quando.
  • automatiza as atualizações do esquema : as migrações podem ser executadas automaticamente ou com um único comando, garantindo que o esquema do banco de dados seja atualizado em todos os ambientes (desenvolvimento, estadiamento, produção) de maneira consistente.
  • REVERT MUDANÇAS : Se algo der errado com uma migração, ela pode ser revertida, fornecendo segurança e flexibilidade durante o desenvolvimento e implantação.

2. Por que as migrações são importantes?

  • Consistência : eles garantem que todos na equipe de desenvolvimento usem o mesmo esquema de banco de dados.
  • Automation : As migrações podem ser executadas automaticamente, reduzindo os erros manuais durante as atualizações.
  • Versioning : As migrações facilitam a rastreamento da evolução do seu esquema de banco de dados ao longo do tempo.
  • facilidade de implantação : as migrações são úteis durante a implantação, facilitando a implantação e sincronização de mudanças de esquema em diferentes ambientes (local, estadiamento, produção).

3. Como gerenciar migrações no php

Existem várias maneiras de lidar com as migrações de banco de dados no PHP, mas a abordagem mais comum é usar uma biblioteca de migração. Veja como fazer isso usando bibliotecas PHP populares como phinx e migrações da doutrina .


4. Usando Phinx para migrações de banco de dados

Phinx é uma ferramenta popular de migração de PHP que permite criar e executar migrações de banco de dados. Ele suporta várias plataformas de banco de dados, como MySQL, PostgreSQL, SQLite e outros.

Etapa 1: Instale Phinx via compositor

para instalar o phinx, você pode usar o compositor para adicioná -lo como uma dependência.

composer require robmorgan/phinx

Etapa 2: arquivo de configuração

phinx requer um arquivo de configuração (phinx.php ou phinx.yml) para gerenciar configurações de conexão e outras opções de configuração. Aqui está um exemplo de configuração em phinx.php:

 [
        'migrations' => 'db/migrations',
        'seeds' => 'db/seeds'
    ],
    'environments' => [
        'default' => 'development',
        'development' => [
            'adapter' => 'mysql',
            'host' => 'localhost',
            'name' => 'your_database_name',
            'user' => 'root',
            'pass' => '',
            'charset' => 'utf8',
        ],
        'production' => [
            'adapter' => 'mysql',
            'host' => 'production_host',
            'name' => 'your_production_database',
            'user' => 'prod_user',
            'pass' => 'prod_password',
            'charset' => 'utf8',
        ]
    ]
];

Esta configuração configura dois ambientes (desenvolvimento e produção), onde o Phinx gerenciará migrações para seus bancos de dados.

Etapa 3: Criando uma migração

para criar uma migração, você pode usar o seguinte comando phinx:

php vendor/bin/phinx create CreateUsersTable

Este comando cria um arquivo de migração no diretório DB/migração. O arquivo de migração será algo assim:

table('users');
        $table->addColumn('name', 'string')
              ->addColumn('email', 'string')
              ->create();
    }
}

Esta migração cria uma tabela de usuários com duas colunas: nome e email.

Etapa 4: Executando migrações

Depois que a migração for criada, você pode aplicar a migração ao banco de dados usando o seguinte comando:

php vendor/bin/phinx migrate

Phinx aplicará novas migrações que ainda não foram executadas. Você também pode especificar um ambiente específico:

php vendor/bin/phinx migrate -e production

Etapa 5: Rolling Back Migrações

;


PHP VENDOR/BIN/PHINX Rollback

php vendor/bin/phinx rollback


PHP VENDOR/BIN/PHINX Rollback -t 20210101000000

php vendor/bin/phinx rollback -t 20210101000000


5. Usando migrações de doutrina para migrações de banco de dados

migração de doutrina é outra ferramenta popular para migrações de banco de dados, especialmente para projetos que já usam a doutrina ORM para interações de banco de dados. Ele se integra diretamente à doutrina e fornece um conjunto de comandos para gerenciar migrações.

Etapa 1: Instale as migrações de doutrina

compositor requer doutrina/migração

composer require doctrine/migrations
Etapa 2: Configurar migrações de doutrina

você precisa configurar um arquivo de configuração (migrations.php) para definir os caminhos de conexão e migração do banco de dados.

Exemplo migrations.php Configuração:


Php use doutrina \ dbal \ driverManager; Use Doutrina \ Migrações \ Configuration \ Configuration; Use Doutrina \ Migrações \ Tools \ Console \ Command; Use Doutrina \ Migrações \ Tools \ Console \ Consolerunner; // Configure a conexão do banco de dados $ Conn = DriverManager :: getConnection ([ 'url' => 'mysql: // root:@localhost/your_database_name', ]); // Configure a configuração de migrações $ config = nova configuração ($ conn); $ config-> setMigrationsNamesPace ('App \ Migrações'); $ config-> setMigrationsDirectory ('db/migrações'); // Crie a ferramenta de migração $ console = consolerunner :: createApplication ($ config); $ console-> run ();

composer require doctrine/migrations
Etapa 3: Criando uma migração

você pode gerar uma migração usando a Doutrina CLI:


PHP Vendor/Bin/Doutrina-Migrações geram

php vendor/bin/doctrine-migrations generate

Etapa 4: Executando migrações

para executar as migrações, use:


PHP Vendor/Bin/Doutrina-Migrações Migrate

php vendor/bin/doctrine-migrations migrate

Etapa 5: Rolling Back Migrações

para reverter uma migração, use:


PHP VENDOR/BIN/Doutrina-Migrações Execute-Down

php vendor/bin/doctrine-migrations execute --down


6. Melhores práticas para gerenciar migrações no PHP

    Controle de versão
  • : sempre comprometa seus arquivos de migração com controle de versão (por exemplo, git). Isso garante que sua equipe possa rastrear e aplicar as mesmas alterações no banco de dados.
  • Evite alterações manuais
  • : Evite fazer alterações manuais diretamente no banco de dados. Use migrações para fazer alterações no esquema, para que sejam versionadas e possam ser rastreadas.
  • nomes descritivos de migração
  • : Nome Arquivos de migração de maneira descritiva para que você possa entender facilmente o que cada migração faz (por exemplo, addIndextouSerStable ou CreateProductStable).
  • Migrações de teste
  • : sempre teste suas migrações em um banco de dados de estadiamento ou desenvolvimento antes de aplicá -las à produção para evitar problemas em potencial.
  • Mantenha as migrações pequenas e incrementais
  • : evite migrações grandes e monolíticas. Em vez disso, faça mudanças incrementais, pois isso facilita a depuração e a compreensão.

7. Conclusão

Gerenciando as migrações de banco de dados é uma parte essencial de qualquer processo de desenvolvimento de aplicativos PHP. Usando ferramentas de migração como

phinx

ou migrações de doutrina fornece uma maneira estruturada e automatizada de gerenciar o esquema do banco de dados. Essas ferramentas ajudam a evitar erros manuais, manter a consistência entre os ambientes e garantir que seu esquema de banco de dados evoluir de maneira controlada e de versão. usando essas ferramentas, você pode se concentrar na criação da lógica do aplicativo, garantindo que seu banco de dados esteja sempre em sincronia com as alterações no seu código.


Declaração de lançamento Este artigo é reproduzido em: https://dev.to/abhay_yt_52a8e72b213be229/how-to-manage-database-migrações em-hp-12bi?1 Se houver alguma infração, entre em contato com [email protected] para Delete It.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3