Arquivo da categoria ‘schema’

Árduo.. mas produtivo

Maio 8, 2007

Depois de navegar em alguns sites sobre como é o aprendizado do symfony, notei que assusta muita gente. Pois bem, mãos a obra e fui tentar criar o primeiro projeto.

Inicialmente, baseei-me no sf_sandbox sendo essa minha única referência comentada e realmente, funciona perfeitamente se seguidos os passos descritos na seção “Meu Primeiro Projeto“. Muito fácil… copiar e colar não ensina nada, que tal um aplicativo de “tarefas a fazer”?

Saindo do grande vazio, criei um novo projeto com o comando:

symfony init-project todo_list

Ótimo! O symfony criou como que por mágica toda a estrutura de diretórios e suas bibliotecas, conhecendo um pouco a estrutura do Propel, achei que o projeto precisaria de uma definição de quais tabelas iriam participar do aplicativo. Passeando pelo diretório config/ do sf_sandbox reparei no arquivo “schema.yml” (arquivo Yaml) e justamente nele encontra-se essa parte da configuração.

Antes disso, vamos a algo importante: o arquivo database.yml contém a configuração do seu banco e como o padrão é o MySQL, lembre-se de escrever nele seu nome de usuário, senha e nome do banco de dados.

A seguir, criei o seguinte:

propel:  autor:    _attributes: { phpName: Autor }    id:    nome:        varchar(255)    email:       varchar(255)    created_at:

  tarefa:    _attributes: { phpName: Tarefa }    id:    autor_id:    titulo:      varchar(255)    conteudo:    longvarchar    created_at:

Então os seguintes comandos são executados:

symfony propel-build-modelsymfony propel-build-sqlsymfony propel-insert-sql

Isso fez com que o symfony gerasse o SQL relativo a criação das tabelas, arquivos de classes e populasse o banco de dados local com as meta informações.

Temos já o esqueleto pronto, já podemos criar “apps” para nosso projeto.