Node js Sequelize nasıl kullanılır?

Node.js nedir? 
Node.js, Javascript’i kullanabilceğiniz sunucu tarafında uygulamalarınızı geliştirebilceğiniz bir programlama dilidir. Node.js, Google V8 motorunu derleyici olarak kullanan Ryan Dahl tarafından oluşturuldu. Node.js uygulamaları, async(asenkron) yapıda verimliliği en üst düzeye çıkarmak için tasarlanmıştır. Sunucu tarafı işlevselliğini desteklemek için Node.js’ye geliştiriciler tarafından birçok JavaScript kütüphanesi tanıtıldı. Sequelize.js, veritabanı ile node js arasındaki ORM sistemini sağlayan bir javascript paketidir.

Sequelize.js nedir?

Sequelize.js, veritabanını nesnelerle eşleştir. MySQL, MariaDB, SQLite veya PostgreSQL veritabanlarına kolay erişim sağlayan bir ORM (Object / Relational Mapper) ‘dir. Mevcut veritabanı şemasını yeni bir sürüme dönüştürebilen çok güçlü geçiş mekanizmasına sahiptir. Ayrıca, model yapısını belirterek veritabanı yapısını oluşturabilen veritabanı senkronizasyon mekanizmaları sağlar.
Daha öncesinde Metamarkets , Shutterstock, Clevertech, ve Innofluence gibi web siteleri, web sitelerinin ORM’si olarak Sequelize.js’yi kullandıklarını açıkladı.

Sequelize.js’yi neden öğrenmeye ihtiyacımız var?

Node.js, JavaScript’in üzerinde oluşturulduğundan. JavaScript’in sahip olduğu tüm özelliklere sahiptir. Web geliştiricileri olarak JavaScript’i biliyoruz, dolayısıyla Node.js ve Sequelize.js’yi anlamak çok kolay.

Sequelize.js, ORM’in sahip olduğu tüm özelliklere sahip ve açık kaynak geliştiriciler tarafından aktif olarak katkıda bulunan genç bir ORM’dir. Temel olarak Sequelize.js veritabanı senkronizasyonu, istekli yükleme, çağrışımlar, işlemler ve geçişler için iyi bir desteğe sahiptir.

Sequelize.js’nin bir başka ana avantajı da test edilmesi kolaydır. Testleri çalıştırmak için Mocha benzeri çerçeveleri kullanabiliriz.

Node js projenizi oluşturduktan sonra ;

– Terminal penceresini açın ve npm install sequelize --save Node Package Manager konsolundan sequelize yi yükleyin.
– Kullanmak istediğiniz veritabanı sistemini yazın npm install mysql --saveveyanpm install mssql --save

Artık Sequelize’yi yüklediniz
– Projenizin ana dizininde models adında bir klasör açın
– schema.js adında bir dosya yaratın veritabanı şemasını bu .js de yazacağız

Schema.js

const Sequelize = require('sequelize');
const sequelize = new Sequelize('veritabanı adı', 'kullanıcı adı', 'şifre', {
host: 'veritabanı sunucu adresi',
dialect: 'mssql', // kullanmak istediğiniz veritabanı
operatorsAliases: false,
dialectOptions: {
encrypt: true // Azure'da güvenlik için zorunlu
},
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
}
});
const db={};
const DBSet = function(tableName,properties) {
properties["isDeleted"] = {type:Sequelize.BOOLEAN,defaultValue:false};
properties["deletedAt"] = Sequelize.DATE;
return sequelize.define(tableName,properties);
}
db.User = db.User || DBSet('user',{
id:{
type:Sequelize.INTEGER, autoIncrement:true, primaryKey:true,
},
first_name:{type:Sequelize.STRING},
last_name:{type:Sequelize.STRING},
password:{type:Sequelize.STRING},
locale:{type:Sequelize.STRING},
is_confirmed:{type:Sequelize.BOOLEAN},
birth_date:{type:Sequelize.STRING},
});
db.Sequelize = Sequelize;
db.sequelize = sequelize;
module.exports = db;

– Node js projenizde server’in oluşturulduğu .js dosyasını açın ve şemayı  resimdeki gibi çağırın.

– Sonrasında proje başlatıldığında ORM sisteminin başlatılması için resimdeki gibi sequelizeyi başlatın

Dökümantasyonun devamı için http://docs.sequelizejs.com/ buradan ulaşabilirsiniz.