Sequelize adalah ORM (Object Relational Mapping) yang mendukung banyak database seperti MySQL, PostgreSQL, SQLite, dan MSSQL. Sequelize juga mendukung migrasi database, yang memungkinkan kita untuk membuat dan mengubah struktur database dengan mudah.
Salah satu fiturnya adalah merubah nama table. Kita dapat merubah nama table dengan mudah menggunakan migrasi sequelize.
Membuat Migrasi
Untuk membuat migrasi, kita dapat menggunakan perintah npx sequelize-cli migration:generate --name change-table-name
. Perintah tersebut akan membuat file migrasi baru dengan nama change-table-name
di folder migrations
.
npx sequelize-cli migration:generate --name change-table-name
Ketika sudah dijalankan, anda bisa melihat file migrasi baru di folder migrations
. File tersebut akan terlihat seperti ini:
"use strict";
module.exports = {
up: async (queryInterface, Sequelize) => {
/**
* Add altering commands here.
*
* Example:
* await queryInterface.createTable('users', { id: Sequelize.INTEGER });
*/
},
down: async (queryInterface, Sequelize) => {
/**
* Add reverting commands here.
*
* Example:
* await queryInterface.dropTable('users');
*/
},
};
Mengubah Nama Table
Untuk mengubah nama table, kita dapat menggunakan perintah renameTable
pada queryInterface
. Perintah tersebut akan mengubah nama table users
menjadi user
.
"use strict";
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.renameTable("users", "user");
},
down: async (queryInterface, Sequelize) => {
await queryInterface.renameTable("user", "users");
},
};
Keterangan :
up
adalah perintah yang akan dijalankan ketika migrasi dijalankan.down
adalah perintah yang akan dijalankan ketika migrasi di-rollback.
Jika ingin merubah nama lebih dari satu table, kita dapat menggunakan perintah renameTables
pada queryInterface
. Perintah tersebut akan mengubah nama table users
menjadi user
dan posts
menjadi post
.
Jangan lupa untuk merubah column yang mempunyai relasi dengan table yang diubah, sebaiknya lakukan dengan migrasi yang berbeda, Panduan lengkap bisa dibaca di Cara Merubah Nama Column Dengan Migrasi Sequelize.
No Comments
Leave a comment Cancel