ifpe-cpin / maisfono

2 stars 1 forks source link

Adicionar ferramenta de Migrations ao projeto PHP #48

Open juniorpires opened 5 years ago

juniorpires commented 5 years ago

Uma ferramenta de migrations objetiva administrar a estrutura do banco, como pode ser visto aqui.

Com ela as alterações do banco seriam feitas em código php e executadas através de um comando ou melhor: pode-se configurar o deploy para automaticamente executar as migrations. Assim não se precisaria ir até o servidor e atualizar as tabelas uma a uma.

Uma ferramenta que me parece simples e robusta é a Doctrine link.

A estrutura de uma classe migration é bem simples. Para criar uma tabela chamada addrresses, por exemplo:


class Version20100416130422 extends AbstractMigration
{
    public function up(Schema $schema)
    {
        $this->addSql('CREATE TABLE addresses (id INT NOT NULL, street VARCHAR(255) NOT NULL, PRIMARY KEY(id)) ENGINE = InnoDB');
    }

    public function down(Schema $schema)
    {
        $this->addSql('DROP TABLE addresses');
    }
}

E para rodar a migration:


./vendor/bin/doctrine-migrations migrate