55 lines
1.2 KiB
TypeScript
55 lines
1.2 KiB
TypeScript
import { QueryInterface, DataTypes } from "sequelize";
|
|
|
|
module.exports = {
|
|
up: (queryInterface: QueryInterface) => {
|
|
return queryInterface.createTable("Chats", {
|
|
id: {
|
|
type: DataTypes.INTEGER,
|
|
autoIncrement: true,
|
|
primaryKey: true,
|
|
allowNull: false
|
|
},
|
|
title: {
|
|
type: DataTypes.TEXT,
|
|
defaultValue: "",
|
|
allowNull: true
|
|
},
|
|
uuid: {
|
|
type: DataTypes.STRING,
|
|
defaultValue: "",
|
|
allowNull: true
|
|
},
|
|
ownerId: {
|
|
type: DataTypes.INTEGER,
|
|
references: { model: "Users", key: "id" },
|
|
onUpdate: "CASCADE",
|
|
onDelete: "CASCADE",
|
|
allowNull: false
|
|
},
|
|
lastMessage: {
|
|
type: DataTypes.TEXT,
|
|
allowNull: true
|
|
},
|
|
companyId: {
|
|
type: DataTypes.INTEGER,
|
|
references: { model: "Companies", key: "id" },
|
|
onUpdate: "CASCADE",
|
|
onDelete: "CASCADE",
|
|
allowNull: false
|
|
},
|
|
createdAt: {
|
|
type: DataTypes.DATE,
|
|
allowNull: false
|
|
},
|
|
updatedAt: {
|
|
type: DataTypes.DATE,
|
|
allowNull: false
|
|
}
|
|
});
|
|
},
|
|
|
|
down: (queryInterface: QueryInterface) => {
|
|
return queryInterface.dropTable("Chats");
|
|
}
|
|
};
|