'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.dropTable('Users', { cascade: true }); await queryInterface.createTable('Users', { id: { type: Sequelize.INTEGER, autoIncrement: true, primaryKey: true, allowNull: false, }, email: { type: Sequelize.STRING, unique: true, allowNull: false, }, password: { type: Sequelize.STRING, allowNull: false, }, role: { type: Sequelize.STRING, allowNull: false, defaultValue: 'user', }, firstName: { type: Sequelize.STRING, allowNull: true, }, lastName: { type: Sequelize.STRING, allowNull: true, }, username: { type: Sequelize.STRING, unique: true, allowNull: false, }, phoneNumber: { type: Sequelize.STRING, unique: true, allowNull: false, }, gender: { type: Sequelize.ENUM('male', 'female'), allowNull: false, }, refreshToken: { type: Sequelize.STRING, allowNull: true, }, createdAt: { type: Sequelize.DATE, allowNull: false, defaultValue: Sequelize.fn('NOW'), }, updatedAt: { type: Sequelize.DATE, allowNull: false, defaultValue: Sequelize.fn('NOW'), }, }); }, down: async (queryInterface, Sequelize) => { await queryInterface.dropTable('Users'); }, };