• 21-09-2021, 13:11:33
    #10
    Dediğ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:53
    #11
    Hocam 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:58
    #12
    firat131 adlı üyeden alıntı: mesajı görüntüle
    Dediğ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.
    senin için hızlı çözüm olarak benzersiz yaparken iki kolona göre yap. yani pastaneid ve musteritc kolonlarını birlikte benzersiz yap
  • 21-09-2021, 14:05:04
    #13
    Proje 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:02
    #14
    Orkhan adlı üyeden alıntı: mesajı görüntüle
    Hocam 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.
    Bir çok sayfada bir çok farklı veritabanı sorgusu var o yüzden pek mümkün değil.

    mtn adlı üyeden alıntı: mesajı görüntüle
    senin için hızlı çözüm olarak benzersiz yaparken iki kolona göre yap. yani pastaneid ve musteritc kolonlarını birlikte benzersiz yap
    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.

    nozkokcom adlı üyeden alıntı: mesajı görüntüle
    Proje 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
    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.
  • 21-09-2021, 15:37:49
    #15
    firat131 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.
    Keşke kullansan
  • 22-09-2021, 14:30:19
    #16
    firat131 adlı üyeden alıntı: mesajı görüntüle
    Dediğ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.
    ilerde aynı sorunu yaşayıp arama motorundan bu sayfaya gelen arkadaşlar için çözümü şu şekilde buldum.
    veritabanından gruplandırarak benzersiz sütun atayabilirsiniz.
    ALTER TABLE tabloadi ADD UNIQUE benzersiz(sutun1,sutun2)