• 09-11-2022, 09:28:28
    #1
    Merhaba arkadaşlar.

    Yapmak istediğim:
    Arayüzde bir butona basınca migration yaptırmak. Panelime müşteri eklediğimi varsayalım. Bu müşterim daha yeni ve veritabanı boş. Butona bastığımda elimde zaten hazırda bulunan müşterimin sql bağlantı cümlesini kullanarak müşterimin veritabanına(MultipleDbContext) migration yaptırmak.

    Şu anki sistem durumu:
    .Net Core 6, ortak bir veritabanım var. Bu veritabanımda her müşterimin ayrı ayrı sql bağlantı cümlesi mevcut. Bunları istediğim yerden çekebiliyorum. SharedDbContext bağlantı cümlesi appsettings.json dosyasından geliyor. Ancak müşterilerimin veritabanı bilgileri ortak veritabanında. appsettings.json dosyasına tabiki alamam. Sınırsız müşteri eklemem gerekiyor.

    Ortak veritabanımın(SharedDbContext) migration yapısı Startup dosyası içerisinde şu kod ile sorunsuz bir şekilde oluşturuluyor.
                var dbContext = scope.ServiceProvider.GetRequiredService<SharedDbContext>();
                dbContext.Database.SetConnectionString(defaultConnectionString);
                if (dbContext.Database.GetMigrations().Count() > 0)
                    await dbContext.Database.MigrateAsync();
    Sorun:
    Web api servisler tamamen oluşturulup işler duruma geldikten sonra migration nasıl yapabilirim? Migration dosyalarım hazır ama servis oluşturulduktan sonra migration nasıl yaptırabilirim, malesef aradım taradım bulamadım. Fikirlerinize açığım.

    İyi çalışmalar.
  • 09-11-2022, 10:58:47
    #2
    Şuan kafamda canlanmadı ama kod örneği için nopcommerce yazılımını inceleyin. O uygulamada migration ı uygulama ayağa kalktıktan sonra yaptırıyorlar.
  • 09-11-2022, 12:23:54
    #4
    Cevabınız için teşekkürler. Ancak bunlar api servisi daha başlangıçta iken migrationlar oluşuyor. Api aktif çalışırken bir controller ile migration yapılabiliyor mu o kısmı araştırıyordum. nopcommerce bir inceleyeyim.