Files
starr-philproperties/apps/api/database/migrations/20270101000074-create-course-achievements.js

26 lines
974 B
JavaScript

'use strict';
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable('course_achievements', {
id: { type: Sequelize.BIGINT, primaryKey: true, autoIncrement: true },
course_id: { type: Sequelize.BIGINT, allowNull: false },
achievement_key: { type: Sequelize.STRING(100), allowNull: false },
order_index: { type: Sequelize.INTEGER, allowNull: false, defaultValue: 0 },
createdAt: { type: Sequelize.DATE, allowNull: false },
updatedAt: { type: Sequelize.DATE, allowNull: false },
});
await queryInterface.addIndex('course_achievements', ['course_id']);
await queryInterface.addConstraint('course_achievements', {
fields: ['course_id', 'achievement_key'],
type: 'unique',
name: 'course_achievements_course_id_key_unique',
});
},
async down(queryInterface) {
await queryInterface.dropTable('course_achievements');
},
};