Bug #503
Δεν λειτουργούν τα data migrations
Status: | Closed | Start date: | 05/10/2011 | |
---|---|---|---|---|
Priority: | Medium | Due date: | ||
Assignee: | Giorgos Gousios | % Done: | 0% |
|
Category: | deployment | Spent time: | - | |
Target version: | - |
Description
Migrations σε πραγματικό περιβάλλον (μαζί με δεδομένα) αποτυγχάνουν.
History
#1 Updated by Vangelis Koukis almost 13 years ago
Η έκδοση v0.4 ήταν καλό crash test, γιατί για την παραγωγή της έγιναν merge migrations από τρία διαφορετικά branches.
Το μόνο πρόβλημα που υπήρξε είναι ότι υπό προϋποθέσεις το South φώναζε ότι κάποια migrations έγιναν με λάθος σειρά, πριν από την ώρα τους
Επειδή ήταν σε διακριτά μοντέλα, αυτό διορθώθηκε εύκολα με --merge
Μένει να γραφτούν migrations για τα δεδομένα, όταν αυτό χρειαστεί, ώστε να εξοικειωθούμε με το μηχανισμό.
#2 Updated by Giorgos Gousios almost 13 years ago
Δυστυχώς, τα migrations δεν είναι σωστά μετά το merge στη 0.4. Αυτό συμβαίνει γιατί σε όλα τα branches κατά τη διαδικασία ανάπτυξης της έκδοσης 0.4, όλοι φτιάξαμε migrations με βάση το 0002_aai_fields, τα οποία κατά το merge των εκδόσεων έγιναν append το ένα πάνω στο άλλο και για κάποιο περίεργο λόγο, δούλεψαν. Έψαξα αρκετά στο web αλλά δεν βρήκα κάποια αξιόπιστη λύση στο πρόβλημα, το οποίο βέβαια αντιμετωπίζουν πολλοί, ειδικά στην κοινότητα του Rails όπου τα migrations είναι standard.
Νομίζω όμως μπορούμε να κάνουμε τη ζωή μας λίγο ποιο εύκολη αν ακολουθήσουμε τους παρακάτω κανόνες:
- Τα migrations ονομάζονται πάντα με κάποιο σειριακό prefix (0001, 0002, ...). Δεν επιτρέπονται migrations με ίδιο prefix
- Τα migrations γίνονται commit μαζί με τα μοντέλα που επιρεάζουν σε ένα commit
- Όταν κάποιος θέλει να κάνει ένα καινούργιο migration ψάχνει όλα τα ενεργά branches, βρίσκει τα commits που περιέχουν migrations και με git cherry-pick τα κάνει apply στο branch του. Μετά, δημιουργεί το migration script και το κάνει commit κανονικά.
Για να διευκολυνθεί η κατάσταση, το 1fde10fda7e3 άλλαξε τα prefixes των migrations ώστε να είναι σειριακά.
#3 Updated by Vangelis Koukis over 11 years ago
- Status changed from New to Closed
Οι πρακτικές για migrations έχουν βελτιωθεί, στο τελευταίο migration έγιναν και data migrations για τα δίκτυα, το παρόν μπορεί να κλείσει.