Cara Merubah Nama Table Dengan Migrasi Sequelize

By Liu Purnomo
Picture of the author
Published on
Cara Merubah Nama Table Dengan Migrasi Sequelize

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.

Related Posts

Any Question?

Feel free to ask in the comment section below.