Bug #503

Δεν λειτουργούν τα data migrations

Added by Vangelis Koukis almost 13 years ago. Updated over 11 years ago.

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 για τα δίκτυα, το παρόν μπορεί να κλείσει.

Also available in: Atom PDF