nous.migration belum alat lain yang berbasis SQLAlchemy migrasi skema database.
Instalasi
Untuk menginstalnya, tambahkan:
[Migrasi]
resep = zc.recipe.egg
telur =
& Nbsp; nous.migration
untuk buildout.cfg Anda
Anda mungkin ingin menambahkan Anda pakcage sopir databse dan aplikasi Anda
paket seperti ini:
[Migrasi]
resep = zc.recipe.egg
telur =
& Nbsp; psycopg2
& Nbsp; nous.some_app
& Nbsp; nous.migration
Konfigurasi
Tambah ke development.ini atau beberapa jenis lain Suami:
[Nous.migration]
app = app: sibuk
Paket = busy.migration
Migrator mengharapkan konfigurasi SQLAlchemy untuk hadir di bagian app, misalnya:
[App: sibuk]
sqlalchemy.url = postgresql: /// pembangunan
Aku bisa menambahkan konfigurasi SQLAlchemy ke bagian migrasi juga jika seseorang akan bertanya.
Anda juga dapat menambahkan:
vcs = git
schema_diff_cmd = git diff src / sibuk / model / schema.sql
sehingga perintah add_script akan menambahkan file ke sistem kontrol versi, dan mengisi mereka dengan delta skema otomatis.
Kedua pengaturan mungkin pergi setup.cfg karena mereka tidak benar-benar penyebaran terkait dan tidak pernah diperlukan untuk menjalankan aplikasi Anda.
Penggunaan
bin / bermigrasi development.ini [Upgrade | downgrade | pengaturan | add_script] [versi]
Mengintegrasikan dengan aplikasi Anda
Menambahkan sesuatu seperti ini:
& Nbsp; & nbsp; & nbsp; Mesin = engine_from_config (conf, 'SQLAlchemy.')
& Nbsp; & nbsp; & nbsp; DBMigrator (mesin, 'busy.migration'). Set_up_migration (init_migration = DBSetUp (), run_scripts = False)
untuk setup_app Anda, atau di initialize_sql Anda
DBSetUp adalah kelas yang memiliki metode "Upgrade" yang menginisialisasi skema Anda.
Anda dapat melakukannya dalam beberapa cara, Anda dapat menambahkan script migrasi yang menentukan tabel Anda dan kemudian bermigrasi bahwa menggunakan skrip migrasi:
& Nbsp; & nbsp; & nbsp; DBMigrator (mesin, 'busy.migration'). Set_up_migration (run_scripts = True)
Atau Anda dapat memiliki skema kanonik mengatur dan menginisialisasi semuanya sekaligus dan hanya menandai semua skrip sebagai 'dilakukan'
& Nbsp; & nbsp; & nbsp; . DBMigrator (mesin, 'busy.migration') set_up_migration (init_migration = DBSetUp (), run_scripts = False)
Persyaratan :
- < li> Python
Komentar tidak ditemukan