Databases
Bu paketi kurmak için npm install @waterboys/databases@latest komutunu çalıştırmanız yeterli olacaktır.
bu paketi MongoDB ve PostgreSql(Sequelize) için kullanabilirsiniz, paketin içinde domain ayrımı yapılmaktadır.
Domains
- Delivery
Yeni Domain Ekleme
PostgreSql'e yeni bir domain eklemek isterseniz, yapılması gerekenler;
-
src/postgres/yeniDomain/ yeni ekleyeceğiniz domaine ait klasörü açtıktan sonra kullanacağınız entitiy'leri eklemeniz gerekmektedir. Ekleyeceğiniz entityler için burayı inceleyebilirsiniz.
-
types/domains.ts içeriğine yeni domaniniz belirmeniz gerekmektedir.
type DOMAINS = 'DELIVERY' | 'ORNEK';
-
Postgres içerisindeki
DeliveryEntitiesgibi entities'leriniz Interfaces'ini oluşturmanız gerekmektedir.interface DeliveryEntities {
task: Repository<deliveryEntities.Task>;
depot: Repository<deliveryEntities.Depot>;
}Burada entities'lerinizi getRepository() ile kullanıma açıyorsunuz.
private getDeliveryEntities() {
Postgres.entities = {
depot: Postgres.DB.getRepository(deliveryEntities.Depot)
};
}Yeni ekleyeceğiniz domaini swicth'in içine case olarak ekleyip ilgili fonksiyonu çağırmalısınız.
private setEntities() {
switch (this.domain) {
case 'DELIVERY':
this.getDeliveryEntities();
break;
}
}
Kullanım
- Postgres
enablePg() {
new Postgres()
.setDomain('DELIVERY')
.setConfig(postgreConfig)
.initializeDB();
}
- Mongo
enableMongoDB() {
new Mongo()
.setDomain('DELIVERY')
.setConfig(mongoDbConfig, baseConfig.NODE_ENV)
.connectionDB();
}