UNPKG

synt_backend

Version:

Synt light-weight node backend service

98 lines (97 loc) 2.3 kB
"use strict"; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.createTable("Meetings", { id: { allowNull: false, autoIncrement: true, primaryKey: true, type: Sequelize.INTEGER, }, UserId: { type: Sequelize.INTEGER, references: { model: "Users", key: "id", }, allowNull: true, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "SET NULL", // meeting should not be deleted when user is deleted }, VMEId: { type: Sequelize.INTEGER, references: { model: "VMEs", key: "id", }, allowNull: false, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "CASCADE", }, FinancialYearId: { type: Sequelize.INTEGER, references: { model: "FinancialYears", key: "id", }, allowNull: false, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "CASCADE", }, MeetingId: { type: Sequelize.INTEGER, references: { model: "Meetings", key: "id", }, allowNull: true, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "CASCADE", }, name: { type: Sequelize.STRING, allowNull: false, }, description: { type: Sequelize.STRING, defaultValue: "", }, starts_at: { type: Sequelize.DATE, }, ends_at: { type: Sequelize.DATE, }, type: { type: Sequelize.ENUM("general", "special", "other"), defaultValue: "general", }, is_streaming: { type: Sequelize.BOOLEAN, defaultValue: false, }, address: { type: Sequelize.STRING, }, is_cancelled: { type: Sequelize.BOOLEAN, defaultValue: false, }, createdAt: { allowNull: false, type: Sequelize.DATE, }, updatedAt: { allowNull: false, type: Sequelize.DATE, }, }); }, down: async (queryInterface) => { await queryInterface.dropTable("Meetings"); }, };