Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Gerando entidades do banco de dados


Seu caso está bem documentado no site do symfony intitulado "Como gerar Entidades de um banco de dados existente"

Conforme consta na documentação:

Usando o seguinte comando (supondo que o nome abreviado do seu pacote seja GOutsideGOBundle )

Então você precisa ligar.

Se você precisar gerar classes de entidade com mapeamentos de anotação, deverá executar o seguinte comando antes de doctrine:generate:entities

O caminho deve ser apenas ./src em vez de ./src/GOutside/GOBundle/Resources/config/doctrine

Atualizado:


Se tudo estiver correto em sua configuração, obtendo o erro Database does not have any mapping information. é improvável!! Não tenho certeza sobre este erro. Mas, de acordo com o esquema da tabela do banco de dados, há alguns problemas que o impedirão de criar informações de mapeamento.
  1. Sua tabela contém o tipo especial ponto que doutrina não pode lidar.
  2. Sua tabela de banco de dados tem várias tabelas sem nenhuma chave primária. O Doctrine não suporta engenharia reversa de tabelas que não possuem uma chave primária

Para resolver o problema (1), você pode adicionar um mapeamento personalizado na sua seção de configuração de doutrina. Por exemplo, para mapear o tipo de ponto como string, você pode escrever:
doctrine:
    dbal:
        //Other connection parameters
        mapping_types:
            point: string

para o segundo problema, você precisa definir a chave primária para essas tabelas, que podem ser um novo campo ou uma chave primária composta.