Php aynı anda birden fazla veritabanına bağlanma fikir önerisi?
15
●248
- 21-09-2021, 13:11:33Dediğiniz gibi düşündüm de şöyle bir sorun var. Müşteriler tablosu düşünün. Her müşterinin tc kimlik nosu var. Ve her pastane tc kimlik nosu ile 1 adet müşteri ekleyebilir. Normalde bunu o sütunu mysqlde benzersiz yaparak çözüyorum. Ama dediğiniz gibi tüm pastane müşterilerini tek veritabanı yapıp tc kimlik sütununu benzersiz yaparsam ankaradaki pastane bir müşteri eklediyse istanbuldaki paatane o müşteriyi ekleyemeyecek. Bunun için php ile bir sorgu yazıp pastane_id ile musteri_tc olup olmadığını sorgulatabiliriz sanırım tek çözüm bu.
- 21-09-2021, 13:56:53Hocam php bilgim kısıtlı ancak şu şekilde neden çalışmayacağını biri anlatabilir mi

Hocam aaaaa.php diye ana dizinde bir php dosyası oluştursanız. ankara/gizempastanesi/bbbbb.php si olsun birde. bbbbb.php si içerisinde sadece mysql database bilgisi/objesi olsun. bbbbb.php içerisinden require ile aaaaa.phpsini yükleseniz.
böylelikle aaaaa.phpsi içinde değişiklik yapınca hepsi değişmiş olur mantıken çünkü pastaneye özel olan php içinde sadece database bilgileri var ve bir kere oluşturduktan sonra sabitler.
Kullanıcıya giriş yapması için link verirken siteadi.com/ankara/gizempastanesi/bbbbb.php nin linkini verirsiniz(belki daha kullanışlı bir çözüm de olabilir pastanalerin linklerini tutan ayrı bir tablonuz olursa)
Bu şekilde her pastane için ayrı veritabanı oluşturarak en başta sorduğunuz soruyu cevaplamış oldum galiba. - 21-09-2021, 14:00:58senin için hızlı çözüm olarak benzersiz yaparken iki kolona göre yap. yani pastaneid ve musteritc kolonlarını birlikte benzersiz yapfirat131 adlı üyeden alıntı: mesajı görüntüle
- 21-09-2021, 14:05:04Proje ve teknik altyapı hakkında biraz daha detay paylaşır mısın?
Mesela herhangi bir framework kullanıyor musun?
Kodlar nerede çalışacak? AWS vs gibi bulutta mı yoksa hostingde mi?
Yinede kabaca bahsetmek gerekirse
Bahsettiğin sistem multi-tenancy olarak geçiyor. Bu terim ile araştırma yapabilirsin.
Laravel veya composer kullanan bir yapın varsa bu işi otomatize eden paketlerde var, onlar işini çok kolaylaştırır.
Eğer yoksa, database bağlantını dinamik yaparak çoklu database yapısını oluşturabilirsin.
Burada ekstradan merkezi bir database olması gerekir.Bunuda giriş sayfası için kullanırsın. User bilgilerin bu merkezi yerde de durur ve login işlemini buradan kontrol edersin.
Kullanıcı hangi pastaneye aitse o pastanenin db bilgisi ile çalışmaya başlar sistem.
Burada çözmen gereken birkaç konu, yeni pastane eklerken yeni db oluşturman gerekecek.
DB de değişiklik yapman gerektiğinde tüm DB lerde aynınısı yapman gerekecek. (Laravelde migration ile çok kolaylaşır işin. )
vs - 21-09-2021, 14:42:02Bir çok sayfada bir çok farklı veritabanı sorgusu var o yüzden pek mümkün değil.Orkhan adlı üyeden alıntı: mesajı görüntüle
Hocam iki sütunu birden benzersiz yapabiliyormuyuz? Yani tcno ve pastane id sütunu varsa ekleme diyebiliyormuyuz? Bu özelliğin adı nedir? İkisine de benzersiz özelliği eklersem müşteriler sütununda bir pastane id sini bir daha ekleyemem diye düşünüyorum.mtn adlı üyeden alıntı: mesajı görüntüle
Framework kullanmıyorum hocam php pdo ile yazıyorum. Multi tenancy olayını araştıracağım tam istediğim şey bu olabilir. "Kullanıcı hangi pastaneye aitse o pastanenin db bilgisi ile çalışmaya başlar sistem." işte tam olarak istediğim şey bu.nozkokcom adlı üyeden alıntı: mesajı görüntüle - 22-09-2021, 14:30:19ilerde aynı sorunu yaşayıp arama motorundan bu sayfaya gelen arkadaşlar için çözümü şu şekilde buldum.firat131 adlı üyeden alıntı: mesajı görüntüle
veritabanından gruplandırarak benzersiz sütun atayabilirsiniz.
ALTER TABLE tabloadi ADD UNIQUE benzersiz(sutun1,sutun2)
