ORM merupakan suatu metode/teknik yang digunakan untuk mengkonversi data dari lingkungan bahasa pemrograman berorientasi objek (OOP) dengan lingkungan database relasional, ORM bertugas sebagai penghubung dan sekaligus mempermudah kita dalam membuat aplikasi yang menggunakan database relasional agar menjadikan tugas kita lebih efisien. Sequelize merupakan node.js promise-based ORM (Object Relational Mapping) untuk PostgreSQL, MySQL, MariaDB, SQLite, dan Microsoft SQL Server. Sequelize didukung berbagai macam fitur seperti transaction, relations, eager and lazy loading, read replication dan masih banyak lagi.
Setup Sequelize
init Node.js project dengan kode berikut
npm init -y
install package yang diperlukan seperti express, cors, dan database package misal mysql2
npm install --save express cors mysql2
kemudian install suquelize package dengan kode berikut
npm install sequelize --save
kita juga perlu menginstall sequelize-cli untuk melakukan eksekusi perintah sequelize menggunakan terminal
npm install --save-dev sequelize-cli
selanjutnya kita buat bootstraping project menggunakan perintah berikut
npx sequelize-cli init
secara default setelah kita melakukan init sequelize akan membuat folder config, migrations, models, dan seeders
kita telah selesai melakukan setup pada sequelize, selanjutnya kita perlu melakukan konfigurasi koneksi pada database
silahkan buka file pada direktori config/config.json
{
"development": {
"username": "root",
"password": null,
"database": "database_development",
"host": "127.0.0.1",
"dialect": "mysql"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "mysql"
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql"
}
}
secara default, config yang digunakan adalah development, kita dapat mengubahnya dengan menabhakna file .env NODE_ENV jika kita ingin menggunakannya pada production ataupun test.
pada object development, silahkan sesuaikan username, password dan database sesuai pengaturan database yagn kita gunakan.
Membuat Model Dan Migration
kita dapat menggunakan sequelize-cli untuk membuat model dan migration
npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string
secara otomatis sequelize akan membuat model baru pada folder models/nama-models sesuai yang kita generate
'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class User extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
};
User.init({
firstName: DataTypes.STRING,
lastName: DataTypes.STRING,
email: DataTypes.STRING
}, {
sequelize,
modelName: 'User',
});
return User;
};
selanjutnya kita dapat menjalankan perintah migration untuk melakukan migrasi table ke database
npx sequelize-cli db:migrate
Sulfikardi
Web Design & Web Programming
Halo, saya seorang Web Developer yang terbiasa mengembangkan website
menggunakan HTML, CSS, Javascript, PHP, MYSQL, dan Laravel. Disini saya akan membagikan pengalaman saya dalam membangun dan mengembangan website yang responsif dan dinamis