Essa dica serve como uma atualização do artigo que o Rojeryo publicou no VOL. É meu primeiro tutorial disponibilizado na net, então é bem provável que vou atualizá-lo um monte de vezes até ficar tudo ok, mas vamos ao que interessa.
Estive em busca de uma boa ferramenta para planejar banco de dados, e após sofrer um bocado achei um tutorial no VOL, ensinando a usar o DIA, e depois exportar o sql através do
tedia2sql (ótimo tutorial). Uso o Ubuntu 10.04 e o DIA 0.97.1 e, após seguir o tutorial do Rojeryo no VOL, obtive um erro mais ou menos assim:
Use of uninitialized value $multStr in substitution (s///) at /usr/bin/tedia2sql line 1712.
Use of uninitialized value $multStr in split at /usr/bin/tedia2sql line 1713.
Fui para o grande oráculo da net e descobri que o tedia2sql não funciona para as versões mais novas do Dia. Segundo o site oficial, funciona apenas até a versão 0.96. E agora?!!
Mais uma vez o grande oráculo resolveu meus problemas, descobri o
PARSE-DIA-SQL, uma espécie de continuação/melhoria/atualização do tedia2sql. Com ele também é possível exportar o diagrama criado no dia para um script sql.
Então resolvi baixar e instalar, porque gostei muito da ideia usar o dia para diagramar bd. Já o utilizo para diagramar projetos de rede. Baixei o PARSE-DIA-SQL neste link.
Descompactei com o comando:
# tar -xof Parse-Dia-SQL-0.16.tar.gz
Fui até o diretório criado:
# cd Parse-Dia-SQL-0.16/
Depois tentei:
# perl Makefile.PL
# make
# make test
Aí começou a dor de cabeça: estava dando uns erros, dizendo que faltava um monte de bibliotecas. Fui pesquisando uma a uma e acabei instalando estas bibliotecas:
- liblog-log4perl-perl (1.26-1ubuntu3)
- libtext-aligner-perl (0.03-2)
- libtext-table-perl (1.114-1)
- libtest-tester-perl (0.107-1)
- libsub-uplevel-perl (0.2200-1)
- libtest-exception-perl (0.29-1)
Após instalar estas bibliotecas (pelo próprio gerenciador de pacote Synaptic você encontra todas essas libs). Aí sim, conseguir instalar e usar o parse-dia-sql normalmente.
Lista de comandos para instalar:
# perl Makefile.PL
# make
# make test
# make install
E para gerar o sql:
# parsediasql --file arquivo.dia --db postgres
Onde arquivo.dia é o nome do arquivo que deseja exportar e postgres é o banco que vou exportar. No meu caso usei o postgres, mas pode ser mysql, db2, sqlite3 e outros.
Ainda estou testando o Dia para esta nova funcionalidade, mas até agora tenho gostado. Se alguém precisar de ajuda é só avisar. Espero ter ajudado, valeu!
Para ver o tutorial do Rojeryo no VOL, acesse: