pgmigrate2 Siz ərizə ilə birlikdə bazası inkişaf kömək edir ki, Python vasitədir.
PGmigrate əsas vahid patch adlı bir SQL parçasını edir.
Nümunə bazası patch
& Nbsp; cat 000049_Added_index_on_CategorySlug.sql
--- Id: 89ccfca6-6851-11e1-99d8-a088b4e3b168
--- Müəllif: serg
--- Memo: CategorySlug Əlavə index
--- Tarixi: 2012-03-07 14:32
UNİKAL İNDEKSİ catalog_category_slug_shop_id_slug yaratmaq
& Nbsp; catalog_category_slug ON
& Nbsp; BTREE istifadə
& Nbsp; (shop_id, slug);
Siz patch Gördüyünüz kimi hətta birbaşa icra edilə bilər cari SQL fayl var. O, həmçinin gözəl insan oxunaqlı fayl adı, və bəzi metadata var.
Quickstart
Verilənlər bazası başlamaq
& Nbsp; pgmigrate2 init postgresql: // user @ parol / testdb
Bu testdb masa __applied_patches__ yaradacaq. Bu cədvəl yamalar artıq tətbiq olunur izlemek üçün istifadə olunur.
Bir patch repo və ilk patch yaratmaq
& Nbsp; mkdir patchrepo
& Nbsp; pgmigrate2 newpatch patchrepo
... Sizin mətn redaktoru redaktə patch ...
"Patchrepo / 000001_creating_table_x.sql" yazıb
Bu boş patch yaratmaq və mətn redaktoru açılacaq. Bu patch funksiyası nə izah patch SQL, və opsiya yaddaşı daxil edin.
PGmigrate 000001 bir patch serial sayı patchrepo / 000001_creating_table_x.sql kimi bir fayl yaradır, və creating_table_x bir slugified patch memo edir. PGmigrate özü patch metadata qalan dolduracaq.
Tətbiq etmək lazımdır nə yoxlayın
& Nbsp; pgmigrate2 check patchrepo / postgresql: // user @ parol / testdb
Masa x yaradılması: müraciət etmək lazımdır
Check patch repo bütün yamalar edir və testd tətbiq etmək lazımdır yamalar siyahısını çap.
Yamalar müraciət
& Nbsp; pgmigrate2 patchrepo / postgresql miqrasiya: // user @ parol / testdb
1 yamalar müraciət etmək lazımdır:
'' Masa x yaradılması "tətbiqi
Miqrasiya patch repo bütün yamalar edir və ardıcıl olan id testdb bir __applied_patches__ cədvəllərdə mövcud deyil, onların, o aiddir.
daxilolma
Burada bizim layihə PGmigrate istifadə nümunəsidir:
### Database miqrasiya əmrləri
@ Finaloption.command (config_opts)
def dbmigrate (config):
& Nbsp; shopium.core.config idxal read_config dən
& Nbsp; config = read_config (config)
& Nbsp; pgmigrate2 idxal API-dən
& Nbsp; qaytarılması api.migrate (miqrasiya, config.db_uri)
@ Finaloption.command (config_opts)
def dbnewpatch (config):
& Nbsp; shopium.core.config idxal read_config dən
& Nbsp; config = read_config (config)
& Nbsp; pgmigrate2 idxal API-dən
& Nbsp; idxal subprocess
& Nbsp; yol = api.newpatch (miqrasiya)
& Nbsp; yol əgər:
& Nbsp; subprocess.check_call (% yolunu, shell 'hg% s əlavə et' = True) # yalnız Mercurial üçün patch yaradılmış əlavə
@ Finaloption.command (config_opts)
def dbcheckstatus (config):
& Nbsp; shopium.core.config idxal read_config dən
& Nbsp; config = read_config (config)
& Nbsp; pgmigrate2 idxal API-dən
& Nbsp; api.check_status (miqrasiya, config.db_uri)
tələblər
- Python
Şərhlər tapılmadı