sql >> Databáze >  >> RDS >> Mysql

Generování entit z databáze

Váš případ je dobře zdokumentován na webu symfony s názvem „Jak generovat entity ze stávající databáze"

Jak je uvedeno v dokumentaci:

Pomocí následujícího příkazu (za předpokladu, že krátký název vašeho balíčku je GOutsideGOBundle )

Pak musíte zavolat.

Pokud potřebujete vygenerovat třídy entit s mapováním anotací, musíte před příkazem doctrine:generate:entities provést následující příkaz

Cesta by měla být pouze ./src místo ./src/GOutside/GOBundle/Resources/config/doctrine

Aktualizováno:

Pokud je ve vaší konfiguraci vše v pořádku, zobrazí se chyba Database does not have any mapping information. je nepravděpodobné!! Nejsem si touto chybou jistý. Ale podle schématu databázové tabulky existují určité problémy, které vám brání ve vytváření mapovacích informací.

  1. Vaše tabulka obsahuje speciální typ bod kterou doktrína nezvládá.
  2. Vaše databázová tabulka obsahuje více tabulek bez primárního klíče. Doktrína nepodporuje reverzní inženýrství z tabulek, které nemají primární klíč

K vyřešení problému (1) můžete přidat vlastní mapování v sekci konfigurace doktríny. Chcete-li například mapovat typ bodu jako řetězec, můžete napsat:

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

pro druhý problém musíte definovat primární klíč pro tyto tabulky, může to být nové pole nebo složený primární klíč.



  1. Pivoting tabulky v SQL (tj. křížová tabulka / křížová tabulka)

  2. Přidejte sloupec primárního klíče do staré tabulky bez primárního klíče

  3. Vytvoření databáze programově v SQL Server

  4. ODP.NET Managed - Nelze najít požadovaného poskytovatele dat .Net Framework