Raccoon-Influencer-Search/migrations/create-games-channels.js

85 lines
1.8 KiB
JavaScript

"use strict";
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.createTable("Games", {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER,
},
name: {
allowNull: false,
type: Sequelize.STRING,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE,
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE,
},
channels: {
allowNull: true,
type: Sequelize.TEXT,
},
});
await queryInterface.createTable("Channels", {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER,
},
name: {
allowNull: false,
type: Sequelize.STRING,
},
channelId: {
allowNull: false,
type: Sequelize.STRING,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE,
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE,
},
game: {
type: Sequelize.DataTypes.INTEGER,
references: {
model: "Games",
key: "id",
},
allowNull: false,
},
videos: {
allowNull: true,
type: Sequelize.TEXT,
},
medianViews: {
allowNull: true,
type: Sequelize.INTEGER,
},
minutesPlayed: {
allowNull: true,
type: Sequelize.INTEGER,
},
videosCount: {
allowNull: true,
type: Sequelize.INTEGER,
},
videosDates: {
allowNull: true,
type: Sequelize.TEXT,
},
});
},
down: async (queryInterface, Sequelize) => {
await queryInterface.dropTable("Games");
await queryInterface.dropTable("Channels");
},
};