Daniel Acho que agora está mais claro, eu havia entendido que você queria algo para gerência de configuração do esquema do banco de dados. Se o problema é só rodar um script para o banco, dá para fazer de forma bem simples. A forma de fazer isso sem introduzir dependências extras no seu software é utilizar a infraestrutura de acesso ao banco que o PHP já oferece. Poderia ser algo tão simples quanto uma URL que não faz parte do fluxo normal da aplicação, e que executa os queries no banco. Por exemplo, no final do script de descompactação, após a configuração do servidor, usuário e senha do banco, bastaria acessar uma URL como:
http://servidor/path/dbsetup.php Nessa hora você executaria uma série de "CREATE TABLE IF NOT EXISTS xxx (...)" (ou a sintaxe equivalente do banco que você utiliza). É importante que você garanta que, caso esse código seja executado mais de uma vez, ele não modifique o banco novamente ou remova tabelas ou dados. Agora, se você quer realmente uma solução para gerência de configuração do esquema de banco, ou seja, algo que seja capaz de atualizar o esquema do banco junto com uma nova versão do software, já com dados armazenados, a coisa fica muito mais complicada. Para esses cenários, aquelas soluções na linha do DBIx::Migrations são o caminho. []'s Ulisses 2012/9/13 Márcio VItor de Matos <[email protected]>: > 2012/9/13 Daniel Vinciguerra <[email protected]> >> >> Obrigado Ulisses, >> >> Na verdade trata-se de um produto escrito em PHP e por isso o deploy parte >> de um pacote que foi pre configurado e é "descompactado" no diretório de >> destino. >> >> O proximo processo é criar o database, pegar um script SQL (ou algo >> melhor) e executar no database que foi criado para construir as tabelas que >> serão utilizadas pelo sistema. >> >> Esta parte de rodar um script SQL que não esta me cheirando muito bem e >> por isso pedi informação ao pessoal pra saber se não tenho uma solução mais >> elegante para isso. >> > > Daniel, > > Não é possível usar o próprio MySQL com o mysqldump ou coisa do gênero > ? Me parece uma solução mais prática e eficaz. > > Marcio Vitor > > >> ((Vou dar uma olhada nas referencias que você me passou!)) >> >> >> Daniel Vinciguerra >> Web Solutions Architect and Co-Owner at Bivee >> http://github.com/dvinciguerra >> >> >> 2012/9/13 Ulisses Montenegro <[email protected]> >>> >>> Daniel, >>> >>> Dá uma olhada aqui: >>> >>> >>> http://stackoverflow.com/questions/511386/how-can-i-get-my-database-under-version-control-with-perl >>> >>> Minha experiência com o assunto foi utilizando Ruby on Rails, onde >>> existe o ActiveRecord::Migration. Para Perl, tudo parece apontar para >>> o DBIx::Migration, mas as opiniões sobre o mesmo são de que não ajuda >>> tanto assim. >>> >>> O que você está utilizando para automação do deploy? >>> ExtUtils::MakeMaker ou Module::Build? >>> >>> []'s >>> Ulisses >>> >>> 2012/9/13 Daniel Vinciguerra <[email protected]>: >>> > Bom dia senhores, >>> > >>> > Estou trabalhando em uma solução e gostaria e pedir ajuda dos mais >>> > experientes neste assunto... >>> > ... tratasse da automação do deployment de produto e preciso criar uma >>> > rotina que execute um script de criação da base de dados em um banco >>> > MySQL. >>> > >>> > Gostaria de saber se algum de vocês teve alguma experiência com esse >>> > tipo de >>> > implementação e principalmente a melhor forma que encontraram de >>> > resolver. >>> > >>> > Estou trabalhando com o DBI "in natura" e a forma como estou fazendo >>> > não >>> > esta me parecendo muito "elegante". >>> > >>> > Alguma sugestão, relato de experiência pessoal ou material? >>> > >>> > Obrigado e grande abraço a todos, >>> > >>> > Daniel Vinciguerra >>> > Web Solutions Architect and Co-Owner at Bivee >>> > http://github.com/dvinciguerra >>> > >>> > =begin disclaimer >>> > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>> > SaoPaulo-pm mailing list: [email protected] >>> > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> > =end disclaimer >>> > >>> >>> >>> >>> -- >>> “If debugging is the process of removing software bugs, then >>> programming must be the process of putting them in.” - Edsger Dijkstra >>> =begin disclaimer >>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>> SaoPaulo-pm mailing list: [email protected] >>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> =end disclaimer >> >> >> >> =begin disclaimer >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >> SaoPaulo-pm mailing list: [email protected] >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >> =end disclaimer >> > > > > -- > Márcio Vitor de Matos > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: [email protected] > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer -- “If debugging is the process of removing software bugs, then programming must be the process of putting them in.” - Edsger Dijkstra =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
