UNPKG

synt_backend

Version:

Synt light-weight node backend service

83 lines (82 loc) 1.86 kB
"use strict"; // eslint-disable-next-line no-undef module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.createTable("Users", { id: { allowNull: false, autoIncrement: true, primaryKey: true, type: Sequelize.INTEGER, }, character: { type: Sequelize.ENUM("natural", "legal"), defaultValue: "natural", }, CompanyId: { type: Sequelize.INTEGER, references: { model: "Companies", key: "id", }, allowNull: true, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "CASCADE", }, first_name: { type: Sequelize.STRING, defaultValue: "", }, last_name: { type: Sequelize.STRING, defaultValue: "", }, email: { allowNull: false, type: Sequelize.STRING, }, phone: { type: Sequelize.STRING, }, email_verified_at: { type: Sequelize.DATE, }, phone_verified_at: { type: Sequelize.DATE, }, is_admin: { type: Sequelize.BOOLEAN, defaultValue: false, }, address: { type: Sequelize.STRING, }, terms_accepted_at: { allowNull: true, type: Sequelize.DATE, }, language: { type: Sequelize.STRING, }, country: { type: Sequelize.STRING, }, createdAt: { allowNull: false, type: Sequelize.DATE, }, updatedAt: { allowNull: false, type: Sequelize.DATE, }, }); await queryInterface.addConstraint("Users", { fields: ["email", "CompanyId"], type: "unique", }); }, down: async (queryInterface) => { await queryInterface.dropTable("Users"); }, };