Dönüştürülmüş şemaları Kurulum Deneyimi ile dağıtma

Şema Dönüştürme Kurulum Deneyimi, dönüştürme iş akışı tamamlandıktan sonra otomatik olarak yönergeler ve betikler oluşturur. Dönüştürülen şemaları PostgreSQL için Azure Veri Tabanı'e dağıtmak için bu dosyaları kullanın. Dosyaların oluşturulması, şemaların hedef ortama dağıtımını yapmaz. Bunları gözden geçirir ve oluşturulan PowerShell veya Bash betiğini dağıtım ortamınızda çalıştırırsınız.

Tamamlanmış dönüştürme işleminden yükleme dosyalarını açma yönergeleri için öğreticideki Kurulum Deneyimi ile dağıtımı hazırlama bölümüne bakın.

Oluşturulan dosyaları gözden geçirin

Kurulum dizini, dönüştürmek üzere seçtiğiniz Oracle şemalarının sayısına bağlıdır. Çalışma alanı köküne göre uygun yolu kullanın:

Oracle şema seçimi Kurulum dizini
Bir şema seçildi .github\postgres-migrations\<migration-project>\artifacts\oracle\<schema-name>\setup
Birden çok şema seçildi .github\postgres-migrations\<migration-project>\artifacts\oracle\_migration\setup

Mig001 öğesini, örneğin <migration-project> gibi geçiş projesi klasör adıyla değiştirin. Bir şema seçerseniz, HR öğesini, <schema-name> gibi seçili Oracle şema klasörü adıyla değiştirin. Birden çok şema seçerseniz, _migration yer tutucu değil gerçek klasör adıdır.

Konum, pakete dahil edilen PostgreSQL şemalarının sayısını değil, seçilen Oracle şemalarını yansıtır. Paketin dağıtım kapsamı için setup_instructions.md öğesini gözden geçirin.

Dosya veya dizin Purpose
setup_instructions.md Dağıtıma özgü önkoşullar, komutlar, isteğe bağlı parametreler ve sorun giderme yönergeleri.
setup.ps1 Windows PowerShell için dağıtım çalıştırıcısı.
setup.sh Linux veya macOS üzerinde Bash için dağıtım yürütücüsü.
sql Hazır olma denetimlerini, uzantı betiklerini, doğrulama sorgularını ve runner'lar tarafından kullanılan manifestleri destekleme.
reports ve logs Kurulum betiklerini çalıştırdığınızda yazılan çıkışlar.

Kurulum dizinini tam geçiş projesinin içinde tutun. Çalıştırıcılar eşdüzey convert dizinindeki dönüştürme oturumunun deploy.sql öğesine başvurur; yalnızca kurulum dizinini kopyalamak yeterli değildir.

Çalıştırmadan önce oluşturulan yönergeleri ve dağıtım SQL'ini gözden geçirin. SQL'in dağıtmak istediğiniz nesne düzeltmelerini içerdiğini onaylayın. Projeyi başka bir ortama aktarırsanız, dizin yapısını koruyun ve kuruluşunuzun veri işleme gerekliliklerine uyun. Paylaştığınız dosyalardan kimlik bilgilerini ve diğer gizli bilgileri kaldırın.

Hedefi hazırlayın

Gereksinimleri başka bir dönüştürmeden kopyalamak yerine, oluşturduğunuz setup_instructions.md içindeki gereksinimleri kullanın:

  • Sunucu ve istemci sürümleri. Gerekli PostgreSQL sürümüne sahip PostgreSQL için Azure Veri Tabanı esnek bir sunucu hazırlayın. İstemcinin psql ana sürümü, oluşturulan kurulum paketinde kaydedilen dönüştürme sunucusu ana sürümüyle eşleşmelidir. Bu istemciyi kurulumu çalıştıran bilgisayara yükleyin ve PATH üzerinde kullanılabilir hale getirin. Kurulum, sunucunuzda bir veritabanı oluşturabilir, ancak Azure sunucusunu hazırlamaz.
  • Shell ve dosya erişimi. Windows'ta PowerShell 5.1 veya sonraki bir sürümünü ya da Linux veya macOS'ta Bash'i kullanın. Çalıştırıcının reports ve logs dizinlerine yazma erişimi olmalıdır.
  • Ağ erişimi. Kurulum bilgisayarının PostgreSQL için Azure Veri Tabanı hedef sunucusuna ve PostgreSQL bağlantı noktasına bağlanmasına izin verin.
  • Uzantılar Gerekli uzantıları gözden geçirin ve dağıtımdan önce PostgreSQL için Azure Veri Tabanı hedef sunucusunun izin listesine desteklenen uzantıları ekleyin. Bkz. PostgreSQL için Azure Veri Tabanı'da uzantılara izin verme.
  • İzinler. Oluşturulan yönergelerde belirtilen veritabanı, şema, nesne oluşturma ve uzantı yükleme izinleriyle bir hesap kullanın. Yeni veritabanı oluşturma modu, veritabanı oluşturma izni de gerektirir.
  • Authentication. Betiğin gizli parola istemini, PostgreSQL parola dosyasını veya kuruluşunuzun onaylı gizli bilgi yönetimi sürecini kullanın. Dağıtım betiklerine parola eklemeyin.

Müşterinin kullanılabilir olduğunu onaylayın:

psql --version

Oluşturulan yönergeler, PostgreSQL sürümü ve uzantı gereksinimleri dahil olmak üzere dönüştürme ortamını yansıtır. Dağıtımdan önce hedef farklılıklarını gözden geçirin.

Veritabanı modunu seçin

Her iki çalıştırıcı da şu modları destekler:

Mode Behavior
Yeni veritabanı Varsayılan mod. Dağıttığınızda PostgreSQL için Azure Veri Tabanı hedef sunucusunda bir veritabanı oluşturur. İstenen veritabanı adı zaten var olmamalıdır.
Mevcut veritabanı Belirttiğiniz veritabanını kullanır. Hedef şemalar nesneler içeriyorsa, kurulum devam etmeden önce açık onay gerektirir.

Etkileşimli bir çalıştırma için betik eksik konak, kullanıcı ve veritabanı değerlerini ister. Onaylamadan önce görüntülenen hedefi, veritabanı modunu, şemaları ve işlemi gözden geçirin.

Dağıtıma almadan hazır olup olmadığını kontrol edin

Oluşturulan kurulum dizininde bir terminal açın. İşletim sisteminiz ve hedeflenen veritabanı modu için komutu seçin:

Veritabanı modu Windows PowerShell Linux veya macOS
Yeni veritabanı .\setup.ps1 -ValidateOnly bash setup.sh --validate-only
Mevcut veritabanı .\setup.ps1 -DatabaseMode existing -ValidateOnly bash setup.sh --database-mode existing --validate-only

Yalnızca doğrulama modunda sunucuya bağlanılır ve yerel raporlar ile günlükler oluşturulur. Hedef veritabanını oluşturmaz, uzantıları yüklemez veya dönüştürülen nesneleri dağıtmaz.

Hazır olma denetimleri bağlantı, PostgreSQL sürümü, veritabanı kodlama ve yerel ayar ayarları, izinler, hedef şema doluluğu ve uzantı kullanılabilirliğini kapsar. Uyarıları ve engelleme hatalarını gözden geçirin.

Yeni veritabanı modunda, hedef veritabanı henüz mevcut olmadığından doğrulama, bakım veritabanını kullanır. Hedef veritabanını gerektiren denetimler atlandı olarak işaretlenir. Başarılı bir yalnızca doğrulama çalıştırması, atlanan denetimlerin geçtiğini onaylamaz.

Doğrulama başarıyla tamamlandığında, validation_report_<timestamp>.md dizinindeki reports öğesini gözden geçirin. Dağıtımdan önce bildirilen sorunları çözün. Doğrulama erken durursa, önce konsol çıkışını, ardından oluşturulan herhangi bir günlük veya raporu denetleyin.

Dönüştürülen şemaları dağıtın

denetlediğiniz hedef ve veritabanı modunu kullanın. Kurulum dizininden, --validate-only (PowerShell) veya -ValidateOnly (Bash) olmadan uygun komutu çalıştırın:

Veritabanı modu Windows PowerShell Linux veya macOS
Yeni veritabanı .\setup.ps1 bash setup.sh
Mevcut veritabanı .\setup.ps1 -DatabaseMode existing bash setup.sh --database-mode existing

Çalıştırıcı veritabanını hazırlar, hazırlığı denetler, gerekli desteklenen uzantıları yükler, dönüştürülmüş dağıtım SQL'ini yürütür ve sonuçta elde edilen nesneleri ve uzantıları doğrular.

Mevcut nesneleri değiştirebildiğinden boş olmayan bir hedefi onaylamadan önce dağıtım SQL'ini gözden geçirin.

Important

Her iki veritabanı modu da bir hatadan sonra değişiklikleri geride bırakabilir. Yeni veritabanı modunda kurulum, hedef hazır olma denetimleri öncesinde veritabanını oluşturur, böylece başarısız olan bir denetim bu veritabanını yerinde bırakabilir. Dağıtım SQL'i değişiklikleri ayrı işlemlerde de uygulayabilir. Yeniden denemeden önce hedef durumu gözden geçirin; başarısız bir dağıtımın önceki değişiklikleri geri aldığını varsaymayın.

İsteğe bağlı bağlantı noktası, TLS, yerel ayar ve otomasyon parametreleri için kullanın setup_instructions.md . Etkileşimli olmayan bir çalıştırma için konak, kullanıcı, veritabanı ve kimlik doğrulama ayrıntılarını önceden sağlayın. Boş olmayan mevcut bir hedef de Windows'ta --allow-nonempty-existing veya Linux ya da macOS'ta -AllowNonEmptyExisting aracılığıyla açık onay gerektirir.

Dağıtım sonuçlarını gözden geçir

Veri veya uygulama doğrulamaya devam etmeden önce dağıtım sonuçlarını okuyun. Tek başına dönüştürme durumu bu hedefe dağıtımı onaylamaz.

Dizin Çıkış Gözden geçirmeleri gerekenler
reports deployment_report_<timestamp>.md Dağıtımı yapılan ve dağıtımı yapılmayan toplamlar, uzantı sonuçları, nesne türüne göre sonuçlar ve nesnelerin dağıtımının yapılmama nedenleri.
reports verification_<timestamp>.csv Ayrıntılı nesne doğrulama sonuçları.
reports extensions_<timestamp>.csv Ayrıntılı uzantı sonuçları.
reports preflight_<timestamp>.csv Hazırlık denetimi sonuçları.
logs setup_<timestamp>.log Yürütme iletileri ve hataları.

Yalnızca doğrulama çalıştırmaları dağıtım raporu yerine doğrulama raporu oluşturur. Dosya erişimi veya kabuk sürümü sorunu gibi erken bir hata yalnızca konsol çıktısını bırakabilir.

Çalıştırıcının çıkış kodunu şu çıkışlarla birlikte kullanın:

Çıkış kodu Meaning
0 İstenen işlem başarılı oldu. validate-only için, dağıtım olmadan hazır olma doğrulaması başarılı oldu.
1 Giriş, istemci veya kullanıcı iptal hatası.
2 Kurulum paketi/yapılandırma, bağlantı, veritabanı, hazırlık denetimi veya uzantı yükleme hatası.
3 Dağıtım, doğrulama, raporlama veya beklenmeyen çalıştırıcı hatası.
4 Doğrulama, dağıtılmamış nesneleri veya uzantıları tanımladı.

Otomasyonu yalnızca çıkış kodu 0 için sürdürün. Diğer tüm kodlar için kullanılabilir çıkışları gözden geçirin ve devam etmeden önce bildirilen sorunları çözün.

Dağıtılan şemayı doğrulayın

Başarılı kurulum, Oracle ile davranışsal denklik veya üretim hazırlığı oluşturmaz. Hedef ortamda veri işlemeyi, bağımlılıkları, iş mantığını ve uygulama davranışını bağımsız olarak test edin.

Dağıtılmayan nesneleri veya uzantıları gözden geçirin ve düzeltmelerini tamamlayın. Ayrı olarak yönetilen güvenlik yapılandırması uygulayın ve artık gerekli olmadığında geçici kurulum ayrıcalıklarını iptal edin.