Php Mesajlaşma İçin Hangi Veritabanı Mantıklı?
11
●392
- 16-10-2024, 10:23:51Kullanıcı başına 50 giden mesaj limiti var. Şu anda az kullanıcı var ama artarsa sistemi ayaküstü değiştirmek yerine önden sistemi sağlam kurmak istiyorum.SerdarGnd adlı üyeden alıntı: mesajı görüntüle
- 16-10-2024, 10:26:20Üyeliği durduruldutablolar arasında ilişkiyi ve indeks yapısını iyi ayarlarsanız sağlam bir yapı olmuş olur.BABER adlı üyeden alıntı: mesajı görüntüle
kurgu önemli yanlış olursa teknloji bağımsız sağlam yapı kuramazsınız. - 16-10-2024, 10:29:02Şu anda gönderen_id, alan_id ve mesaj olarak bir yapıya sahip hocam. Mesaj başına 70 karakter limit var.vido adlı üyeden alıntı: mesajı görüntüle
- 16-10-2024, 10:31:04Üyeliği durduruldumevcut tablo yapısını ve düşündüğün kurguyu paylaşırsan buradan ilerleyebiliriz.BABER adlı üyeden alıntı: mesajı görüntüle
- 16-10-2024, 10:45:41User tablosu-> user_id(int), username(string:15), şifre(hash), güvenlik_anahtarı(string:60)vido adlı üyeden alıntı: mesajı görüntüle
Mesaj tablosu-> gönderen_id(int), alan_id(int), mesaj(string:70), anahtar_onay(int:1)
Mesaj göndermek için kullanıcı seçiliyor, mesaj yazılıyor, gönder dediği zaman
1) gönderen kullanıcının kaç mesajı var bakılıyor eğer 50 ise uyarı verip exit
2) Eğer 50den azsa güvenlik anahtarının geçerliliğine bakıyor. Anahtar geçerliyse mesaj veritabanına mesaj işleniyor.
3)Alıcı mesajı yanıtlamayı seçerse yanıt verebiliyor. - 16-10-2024, 11:14:10Üyeliği durdurulduiş görür. gönderen_id ve alan_id indeksleri ekleyin yoksa.BABER adlı üyeden alıntı: mesajı görüntüle
ben olsam şöyle yapardım.
conversations: id, to_user, from_user, created_at
messages: id, conversation_id, sender_id, is_read, deleted_for_user, created_at
yapının mantığı:
konuşma başlatma: bir kullanıcı, başka bir kullanıcıya mesaj göndermek istediğinde önce conversations tablosunda iki kullanıcı arasında bir konuşma olup olmadığı kontrol edilir. eğer yoksa yeni bir konuşma başlatılır ve mesaj bu konuşmaya eklenir.
mesaj gönderme: mesajlar, mevcut bir konuşmaya eklenir ve mesajın kim tarafından gönderildiği, ne zaman gönderildiği bilgileri saklanır.
mesaj silme: mesajlar tablosuna bir silme durumu eklenir. bu sütun mesajın kim için silindiğini takip eder