Updated models and migrations to new spec

This commit is contained in:
2022-08-17 19:36:47 +02:00
parent bc075805e2
commit 05804cb78a
22 changed files with 336 additions and 86 deletions

View File

@@ -0,0 +1,40 @@
'use strict';
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable('Bands', {
id: {
allowNull: false,
autoIncrement: false,
primaryKey: true,
type: Sequelize.INTEGER
},
name: {
type: Sequelize.STRING
},
description: {
type: Sequelize.TEXT
},
imageURL: {
type: Sequelize.STRING
},
enabled: {
allowNull: false,
type: Sequelize.BOOLEAN,
defaultValue: false
},
createdAt: {
allowNull: false,
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
}
});
},
async down(queryInterface, Sequelize) {
await queryInterface.dropTable('Bands');
}
};

View File

@@ -8,22 +8,27 @@ module.exports = {
primaryKey: true,
type: Sequelize.INTEGER
},
guildID: {
type: Sequelize.STRING
guildId: {
type: Sequelize.BIGINT,
allowNull: false
},
adminRoleID: {
type: Sequelize.STRING
adminRoleId: {
type: Sequelize.BIGINT,
},
owderID: {
type: Sequelize.STRING
active: {
type: Sequelize.INTEGER,
allowNull: false,
defaultValue: 1
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
}
});
},

View File

@@ -8,23 +8,29 @@ module.exports = {
primaryKey: true,
type: Sequelize.INTEGER
},
userID: {
type: Sequelize.STRING,
discordId: {
type: Sequelize.BIGINT,
allowNull: false
},
banned: {
type: Sequelize.BOOLEAN
active: {
type: Sequelize.INTEGER,
allowNull: false,
defaultValue: 1
},
registredAt: {
type: Sequelize.DATE
privacy: {
type: Sequelize.INTEGER,
allowNull: false,
defaultValue: 0
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
}
});
},

View File

@@ -4,32 +4,41 @@ module.exports = {
await queryInterface.createTable('Characters', {
id: {
allowNull: false,
autoIncrement: true,
autoIncrement: false,
primaryKey: true,
type: Sequelize.INTEGER
},
bandId: {
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: 'Bands',
key: 'id'
}
},
name: {
type: Sequelize.STRING
},
rarity: {
type: Sequelize.INTEGER
},
description: {
type: Sequelize.STRING
type: Sequelize.TEXT
},
imageURL: {
type: Sequelize.STRING
},
imageHash: {
type: Sequelize.STRING
enabled: {
allowNull: false,
type: Sequelize.BOOLEAN,
defaultValue: false
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
}
});
},

View File

@@ -10,9 +10,10 @@ module.exports = {
},
identifier: {
allowNull: false,
type: Sequelize.STRING
type: Sequelize.STRING,
unique: true
},
characterID: {
characterId: {
allowNull: false,
type: Sequelize.INTEGER,
references: {
@@ -20,7 +21,11 @@ module.exports = {
key: 'id'
}
},
ownerID: {
quality: {
allowNull: false,
type: Sequelize.INTEGER
},
userId: {
type: Sequelize.INTEGER,
allowNull: false,
references: {
@@ -28,17 +33,27 @@ module.exports = {
key: 'id'
}
},
imageHash: {
type: Sequelize.STRING
},
enabled: {
allowNull: false,
type: Sequelize.BOOLEAN
type: Sequelize.BOOLEAN,
defaultValue: true
},
printNr: {
allowNull: false,
type: Sequelize.INTEGER,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
}
});
},

View File

@@ -0,0 +1,36 @@
'use strict';
module.exports = {
async up (queryInterface, Sequelize) {
await queryInterface.createTable('Bot', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
maintenance: {
type: Sequelize.BOOLEAN,
allowNull: false,
defaultValue: false
},
adminIDs: {
type: Sequelize.STRING
},
createdAt: {
allowNull: false,
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP')
}
});
},
async down (queryInterface, Sequelize) {
await queryInterface.dropTable('Bot');
}
};