2015-12-30 13 views
5

Ho cercato praticamente ovunque ma non sono riuscito a trovare nulla.Rinomina nome tabella con migrazioni Doctrine

Esiste un comando o una procedura per modificare il nome di una tabella (quindi all'interno dell'annotazione della dottrina) senza perdere i dati?

In sostanza, qualcosa che produrrà qualcosa come

RENAME TABLE old_table TO new_table; 

o

ALTER TABLE old_table RENAME new_table; 

comandi MySQL tratto da here

Dovrei scrivere manualmente il file di migrazione con doctrine:migrations:generate?

+0

Quale sistema di database si usa? – StoryTeller

+0

@StoryTeller MySQL, ma suppongo che dovrebbe esistere un metodo "universale" – DonCallisto

risposta

6
  1. Cambia nome tabella per data entità.

    /** @Entity @Table(name="new_table_name") */ 
    class MyEntity { ... } 
    
  2. Generare una nuova migrazione.

  3. Cancellare il contenuto dei metodi up() e down() e sostituirli con SQL personalizzato (ALTER TABLE ... RENAME TO ...).

Tenere presente che il generatore di migrazione è inteso come strumento di utilità/semiautomatico.

+0

Sì, quindi, in sostanza, posso raggiungere lo stesso eseguendo 'php app/console doctrine: migrations: generate' (che, infatti, è ciò che io ' ho fatto fino ad ora) – DonCallisto

+0

Sì, questo è l'approccio giusto. ;) – Crozin

Problemi correlati