UNPKG

synt_backend

Version:

Synt light-weight node backend service

85 lines (84 loc) 2.06 kB
"use strict"; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.createTable("MeetingItems", { id: { allowNull: false, autoIncrement: true, primaryKey: true, type: Sequelize.INTEGER, }, FixedMeetingItemId: { type: Sequelize.INTEGER, references: { model: "FixedMeetingItems", key: "id", }, allowNull: true, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "SET NULL", }, 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 }, MeetingId: { type: Sequelize.INTEGER, references: { model: "Meetings", key: "id", }, allowNull: false, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "CASCADE", // meeting should not be deleted when user is deleted }, name: { type: Sequelize.STRING, defaultValue: "", }, description: { type: Sequelize.TEXT, defaultValue: "", }, decision: { type: Sequelize.STRING, allowNull: true, }, is_vote_required: { type: Sequelize.BOOLEAN, defaultValue: false, }, is_accepted: { type: Sequelize.BOOLEAN, defaultValue: false, }, majority: { type: Sequelize.FLOAT, }, is_voting: { type: Sequelize.BOOLEAN, defaultValue: false, }, createdAt: { allowNull: false, type: Sequelize.DATE, }, updatedAt: { allowNull: false, type: Sequelize.DATE, }, }); }, down: async (queryInterface) => { await queryInterface.dropTable("MeetingItems"); }, };