Tüm migration hataları düzeltildi. Yeni tenant oluşturulabilir.
Sebep: PHP Process çalıştırılırken PATH değişkeninde /usr/sbin bulunmuyor. Plesk komutları bu dizinde yer alıyor.
Tüm plesk komutları /usr/sbin/plesk olarak değiştirildi.
Dosya 1: app/Jobs/UnregisterDatabaseFromPlesk.php
Dosya 2: app/Listeners/RegisterTenantDatabaseToPlesk.php
Sebep: shop_orders tablosu shop_payment_methods tablosuna foreign key ile bağlı. Ancak bu tablo migration'ı arşivlenmiş ve tenant klasöründe mevcut değildi.
Arşivlenen migration dosyaları tenant klasörüne kopyalandı:
database/migrations/ hem de database/migrations/tenant/ klasörlerinde bulunmalı!
Yeni oluşturulan tenant database'leri Plesk panelinde tuufi.com altında görünmüyordu.
Sebep: RegisterTenantDatabaseToPlesk listener'ı tenant'ın domain'ini (ixtif.com) kullanmaya çalışıyordu, ancak Plesk'te sadece tuufi.com ana domain olarak kayıtlı.
Dosya: app/Listeners/RegisterTenantDatabaseToPlesk.php
Sebep: Laravel'in morphs() helper'ı otomatik olarak type + id için composite index oluşturur. Kod ayrıca manuel index tanımlıyordu.
Aşağıdaki dosyalarda morphs index tanımları kaldırıldı:
Sebep: is_approved sütunu tanımlanırken ->index() chain edilmiş, ayrıca $table->index('is_approved') ile tekrar tanımlanmış.
Dosya: Modules/ReviewSystem/database/migrations/tenant/2024_11_10_000002_create_reviews_table.php
Artık tüm hatalar düzeltildi. Admin panelden yeni tenant güvenle oluşturulabilir.
Her migration dosyası iki yere koyulmalı: central ve tenant klasörü
Otomatik index oluşturduğunu unutma, tekrar index tanımlama
Ayrıca $table->index() ile tekrar tanımlama
Referans edilen tablo önce oluşturulmalı (dosya sırası önemli)