Mysql
 sql >> Database >  >> RDS >> Mysql

Generazione di entità dal database

Il tuo caso è ben documentato nel sito web di symfony intitolato "Come generare entità da un database esistente"

Come afferma la documentazione:

Usando il seguente comando (supponendo che il nome breve del tuo pacchetto sia GOutsideGOBundle )

Allora devi chiamare.

Se devi generare classi di entità con mappature di annotazioni, devi eseguire il seguente comando prima di doctrine:generate:entities

Il percorso dovrebbe essere solo ./src invece di ./src/GOutside/GOBundle/Resources/config/doctrine

Aggiornato:

Se tutto è corretto nella tua configurazione, viene visualizzato l'errore Database does not have any mapping information. è improbabile!! Non sono sicuro di questo errore. Ma secondo lo schema della tabella del database, ci sono alcuni problemi che ti impediranno di creare informazioni di mappatura.

  1. La tua tabella contiene punto di tipo speciale quale dottrina non può gestire.
  2. La tua tabella del database ha più tabelle senza alcuna chiave primaria. Dottrine non supporta il reverse engineering da tabelle che non hanno una chiave primaria

Per risolvere il problema (1) puoi aggiungere un mappatura personalizzata nella tua sezione di configurazione della dottrina. Ad esempio per mappare il tipo di punto come stringa puoi scrivere:

doctrine:
    dbal:
        //Other connection parameters
        mapping_types:
            point: string

per il secondo problema devi definire la chiave primaria per quelle tabelle, quelle potrebbero essere un nuovo campo o potrebbero essere chiavi primarie composte.