Ehi. Ho difficoltà a migrare le modifiche Ho fatto il mio file config/doctrine/schema.yml.Miglior utilizzo dei modelli e migrazione in symfony
Ho aggiunto la colonna age
alla tabella user
. Poi ho fatto un php symfony doctrine:generate-migrations-diff
seguito da php symfony doctrine:migrate
.
Guardando nel mio database, la colonna age
è stata aggiunta, senza cancellare alcun dato.
Tuttavia, il mio /lib/model/doctrine/base/BaseUser.class.php non è stato modificato, non esiste il campo age
o age
. Così ho anche fatto il comando php symfony doctrine:build-model
. Infine, il modello viene aggiornato/migrato anche.
Quindi mi chiedo, è questo l'unico modo? Sembra un sacco di lavoro, e ho paura di perdere qualcosa ogni volta che lo fa.
Posso andare direttamente in phpmyadmin, aggiungere le modifiche nel database e fare semplicemente un php symfony doctrine:build-schema
, e così si salta la parte di migrazione (due comandi).
Anche quando si tratta di utilizzare i modelli, ho ragione che /lib/model/doctrine/User.class.php è dove posso creare funzioni e tali per la mia "classe di dati" utente? Come, facendo una funzione isFemale
. Altrimenti, dove sarebbe questo tipo di funzione?
Questa potrebbe essere una domanda non valida, ma perché il livello del modello si trova all'interno del percorso/lib/doctrine? Per quanto ho appreso, tieni i moduli all'interno delle app, dove crei la vista e il controller. Perché il modello dovrebbe essere all'esterno. In questo modo posso creare modelli senza controller e vista allegati?
Grazie.
+1 per una risposta ben scritta e spiegata –
Ora ho appena ricevuto un errore, non è stato possibile generare classi di migrazione dalla differenza. Nessun altro errore :( – Johannes
Johannes, significa che lo schema e i modelli sono sincronizzati Ricordarsi di non costruire modelli finché non si creano migrazioni. – Darmen