2.3.2 • Published 2 years ago

falsisdb v2.3.2

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

Falsisdb

Falsisdb; Türkçe, hızlı, güvenilir, kullanışlı, açık kaynak kodlu, event ve yedekleme destekli, json ve yaml database modülü.

Kurulum

Modülü kurmak için öncelikle konsola aşağıdaki komutu yazmalısınız.

npm i falsisdb@latest

veya bunun yerine en en güncel sürümü github'dan çekin. (Hatalar olabilir.)

npm i "https://github.com/falsisdev/falsisdb.git#master"

Bunu yazdıktan sonra modülün indirilmesiniz bekleyin. Modül kurulunca main (ana) dosyanıza aşağıdaki kodu ekleyin. Kodu en başa eklerseniz dosyanız düzenli olur.

Yedekleme Sistemi ve Daha Fazlası

Yedekleme sisteminin amacı, ana veri tabanı dosyasına herhangi bir zarar gelirse veri tabanını kolayca yedek dosyasında saklaması. Bunun üzerine Peki ya yedek dosyasına zarar gelirse? tarzı bir soru gelebilir. Bunun için yedek sistemine backupTime ekledik. Örneğin veri tabanına 1 veri eklediğinizde veri anında yedeğe atılmıyor da ayarladığınız sayı kadar veri eklendiğinde yeni bir yedek oluşturup o zaman yedeği atıyor. Böylece yedek dosyası, ana veri tabanı dosyası kadar hareketli ve risk altında olmuyor.

Şimdi biraz kullanımından bahsedelim. Kullanımından Bahsetmeden Önce birkaç şey hatırlatmak istiyorum. 1. Yedek Sistemindeki tüm ögeler ve nesneler isteğe bağlıdır. 2. Yedek Sistemi aktif olduğunda, falsisdb klasöründe backupData.json dosyası oluşacaktır. Bu dosyada kaç tane backup alındığı, 1 başlatma sürecinde kaç veri kaydedildiği (time kısmı için kullanılıyor.) ve eğer 1 başlatma sürecinde kaydedilen veri sayısı tanımlanan time değerine eşit değilse eşit olana kadar kaydedilen verilerin yedeği tutulur. Böylece proje kaç kere yeniden başlatılsa bile hiçbir şey sıfırlanmaz. Eğer bir veri önceden yedeklendiyse veya yedekleme sırasına konulduysa tekrar yedeklenmez veya yedekleme sırasına konulmaz. Bu bir hata değil, bilinçli yapılmış bir özelliktir. Ayrıca eğer bir veriyi veri tabanından silerseniz, bu veri yedek dosyasında bulunmaya devam eder. Böylece eğer sildiğiniz veriyi yanlışlıkla sildiyseniz veya veri kendiliğinden silindiyse yedekleme dosyasından tekrar alabilirsiniz.

const { JSONDatabase } = require("falsisdb");
const db = new JSONDatabase({
    filePath: "BURAYA VERI TABANI DOSYASININ DOSYA KONUMU YAZILACAK", //isteğe bağlı
    backup: { //isteğe bağlı
        path: "BURAYA YEDEKLEME DOSYASININ DOSYA KONUMU YAZILACAK", //isteğe bağlı
        time: 5 //BURAYA YEDEKLEMENIN KAÇ VERIDE BIR YAPILACAGI YAZILACAK VARSAYILAN = 5 //isteğe bağlı
    },
    eventInterval: 100 //BURAYA EVENTLERIN KAC MILISANIYEDE (MS) BIR KONTROL EDİLECEĞİ YAZILACAK VARSAYILAN = 100ms //isteğe bağlı
})

Not: { JSONDatabase } kısmı veri tabanının türünü belirler. Bunu isteğe bağlı olarak { YAMLDatabase } ile de değiştirebilirsiniz. Ancak bu değişiklik sonrasında filePath ögesinin de uzantısını değiştirmeniz gerekir. Aksi takdirde bir hata ile karşılaşırsınız. Aynı şekilde new'den sonraki kısım da {} içerisindeki kısımla aynı olmalı. Not: TypeScript için de kullanım bu şekildedir.

filePath ögesi isteğe bağlıdır. Unutmayın, dosya başına ./ konmalıdır! Proje Başlatıldığında Unexpected end of JSON input hatasını alabilrisiniz. Bunun sebebi dosyaya {} (suslü parantez) koymamanız. Dosyaya girip içerisine {} yazın. Ve artık kullanmaya başlayabilirsiniz. backup nesnesi type, path ve time ögelerini içerir. backup.path: Yedekleme Alınacak Dosyayı Tanımlar. backup.time: Yedeklemenin Kaç Veride Bir Yapılacağını Tanımlar. eventInterval: Eventlerin ne kadar sürede bir kontrol edileceğini tanımlar Yukarıdaki Paragraftaki tüm ögeler ve nesneler isteğe bağlıdır. Eğer Yazılmazsa Aşağıdakiler Uygulanır. Veri Tabanı Dosyası: Varsayılanı ./falsisdb/database.json veya ./falsisdb/database.yaml Yedekleme: Eğer hiçbir şey tanımlanmazsa yedekleme alınmaz. Ancak Aşağıdakilerden Herhangi Biri Bile Tanımlanırsa Varsayılanlar Aşağıdaki Gibi Olur. Yedekleme Dosyası: Varsayılanı ./falsisdb/backup.json veya ./falsisdb/backup.yaml Yedekleme Aralığı: Varsayılanı 5 veride bir. Event Interval: Varsayılan 100 milisaniyede bir.

Event Sistemi

  • DataSet

dataSet eventi bir veri eklendiğinde tetiklenecek kodu tanımlamak için kullanılr.

db.on("dataSet", (data) => {
    if(data.changed == true){
        console.log(`📝 Veri Tabanında Bir Veri Değiştirildi\n- Veri İsmi: ${data.key}\n- Eski Değeri: ${data.oldValue}\n- Yeni Değeri: ${data.value}`) 
    }
    console.log(data)
})
  • DataDelete

dataDelete eventi bir veri silindiğinde tetiklenecek kodu tanımlamak için kullanılr.

db.on("dataDelete", (data) => {
        console.log(`📝 Veri Tabanında Bir Veri Silindi\n- Veri İsmi: ${data.key}\n- Eski Değeri: ${data.value}`)
})

Geliştirme

Teşekkürler: lunexdev, berat141, aloima, iamashley0

npm.io npm.io npm.io

npm.io

2.3.0

2 years ago

2.3.2

2 years ago

2.3.1

2 years ago

2.2.7

3 years ago

2.2.5

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.1.5

3 years ago

2.1.0

3 years ago

2.0.5

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.2.2

3 years ago

1.2.1-devBeta

3 years ago

1.2.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago