pgmigrate2 είναι ένα εργαλείο Python που σας βοηθά να εξελιχθούν βάση δεδομένων σας μαζί με την αίτησή σας.
Η θεμελιώδης μονάδα της PGmigrate είναι ένα ενιαίο απόσπασμα SQL ονομάζεται patch.
Δείγμα μπάλωμα βάση δεδομένων
& Nbsp? Γάτα 000049_Added_index_on_CategorySlug.sql
--- ID: 89ccfca6-6851-11e1-99d8-a088b4e3b168
--- Συγγραφέας: serg
--- Σημείωμα: Προστέθηκε δείκτη CategorySlug
--- Ημερομηνία: 2012-03-07 14:32
CREATE μοναδικό ευρετήριο catalog_category_slug_shop_id_slug
& Nbsp? ΓΙΑ catalog_category_slug
& Nbsp? ΧΡΗΣΗ btree
& Nbsp? (Shop_id, γυμνοσάλιαγκας)?
Όπως μπορείτε να δείτε έμπλαστρο είναι ένα έγκυρο αρχείο SQL, η οποία ακόμη μπορούν να εκτελεστούν άμεσα. Έχει επίσης ωραίο, αναγνώσιμο από τον άνθρωπο όνομα αρχείου, και κάποια μεταδεδομένα.
Γρήγορη εκκίνηση
Αρχικοποίηση δεδομένων
& Nbsp? Pgmigrate2 init PostgreSQL: // user @ κωδικό / testdb
Αυτό θα δημιουργήσει πίνακα __applied_patches__ σε testdb. Ο πίνακας αυτός χρησιμοποιείται για να παρακολουθείτε τα οποία ήδη εφαρμόζονται μπαλώματα.
Δημιουργήστε ένα repo patch, και ένα πρώτο έμπλαστρο
& Nbsp? Mkdir patchrepo
& Nbsp? Pgmigrate2 newpatch patchrepo
... Επεξεργασία μπάλωμα στον κειμενογράφο σας ...
Έγραψε «patchrepo / 000001_creating_table_x.sql»
Αυτό θα δημιουργήσει κενό μπάλωμα και να το ανοίξετε στον κειμενογράφο σας. Πληκτρολογήστε το έμπλαστρο SQL, και προαιρετικά σημείωμα, που περιγράφει ποια είναι η λειτουργία του αυτό το patch.
PGmigrate θα δημιουργήσει ένα αρχείο σαν patchrepo / 000001_creating_table_x.sql όπου 000001 είναι ένας σειριακός αριθμός μπάλωμα, και creating_table_x είναι ένα μπάλωμα slugified σημείωμα. PGmigrate θα γεμίσει υπόλοιπο του εμπλάστρου μεταδεδομένων από μόνη της.
Δείτε τι πρέπει να εφαρμόζονται σε
& Nbsp? Pgmigrate2 ελέγχου patchrepo / PostgreSQL: // user @ κωδικό / testdb
Πρέπει να υποβάλουν αίτηση: δημιουργία πίνακα x
Ελέγξτε λαμβάνει όλα τα patches στο μπάλωμα των συμφωνιών επαναγοράς, και να εκτυπώσετε μια λίστα των patches τα οποία πρέπει να εφαρμοστούν για να testd.
Περάστε τα patches
& Nbsp? Pgmigrate2 μεταναστεύουν patchrepo / PostgreSQL: // user @ κωδικό / testdb
Πρέπει να εφαρμόζουν 1 έμπλαστρα:
Εφαρμόζοντας τη «δημιουργία πίνακα x '
Μετεγκατάσταση λαμβάνει όλα τα μπαλώματα από την κηλίδα συμφωνιών επαναγοράς, και διαδοχικά ισχύει εκείνους εξ αυτών, των οποίων η ταυτότητα δεν είναι παρόντες σε __applied_patches__ πίνακες testdb.
Ενσωμάτωση
Εδώ είναι παράδειγμα πώς χρησιμοποιούμε PGmigrate στο έργο μας:
### Εντολές μετεγκατάσταση της βάσης δεδομένων
@ Finaloption.command (config_opts)
def dbmigrate (config):
& Nbsp? Από read_config εισαγωγή shopium.core.config
& Nbsp? Config = read_config (config)
& Nbsp? Από api εισαγωγή pgmigrate2
& Nbsp? Api.migrate επιστροφής («μεταναστεύσεις», config.db_uri)
@ Finaloption.command (config_opts)
def dbnewpatch (config):
& Nbsp? Από read_config εισαγωγή shopium.core.config
& Nbsp? Config = read_config (config)
& Nbsp? Από api εισαγωγή pgmigrate2
& Nbsp? Υποδιεργασία εισαγωγής
& Nbsp? Μονοπάτι = api.newpatch («μεταναστεύσεις»)
& Nbsp? Αν διαδρομή:
& Nbsp? Subprocess.check_call (Hg προσθέσετε% s 'μονοπάτι%, κέλυφος = True) # απλά προσθέστε δημιουργήθηκε patch για το Mercurial
@ Finaloption.command (config_opts)
def dbcheckstatus (config):
& Nbsp? Από read_config εισαγωγή shopium.core.config
& Nbsp? Config = read_config (config)
& Nbsp? Από api εισαγωγή pgmigrate2
& Nbsp? Api.check_status («μεταναστεύσεις», config.db_uri)
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε