95 lines
1.7 KiB
TypeScript
95 lines
1.7 KiB
TypeScript
import { DataTypes, Sequelize } from "sequelize";
|
|
import { BlacklistUser } from "./models/blacklistuser";
|
|
import { CommandBlacklist } from "./models/commandblacklist";
|
|
import { Player } from "./models/player";
|
|
import { Unit } from "./models/unit";
|
|
|
|
export const db = new Sequelize({
|
|
dialect: 'sqlite',
|
|
storage: './database.sqlite',
|
|
logging: false
|
|
});
|
|
|
|
BlacklistUser.init({
|
|
user_id: {
|
|
type: DataTypes.TEXT,
|
|
primaryKey: true
|
|
}
|
|
},
|
|
{
|
|
tableName: 'BlacklistUser',
|
|
sequelize: db
|
|
});
|
|
|
|
CommandBlacklist.init({
|
|
user_id: DataTypes.TEXT,
|
|
guild_id: DataTypes.TEXT,
|
|
blacklist: {
|
|
type: DataTypes.TEXT,
|
|
defaultValue: '{}'
|
|
}
|
|
},
|
|
{
|
|
tableName: 'CommandBlacklist',
|
|
sequelize: db
|
|
});
|
|
|
|
Player.init({
|
|
user_id: {
|
|
type: DataTypes.TEXT,
|
|
primaryKey: true
|
|
},
|
|
start: {
|
|
type: DataTypes.BIGINT
|
|
},
|
|
spent: {
|
|
type: DataTypes.BIGINT,
|
|
defaultValue: 0
|
|
},
|
|
elo: {
|
|
type: DataTypes.INTEGER,
|
|
defaultValue: 400
|
|
},
|
|
slot1: {
|
|
type: DataTypes.INTEGER,
|
|
defaultValue: null,
|
|
allowNull: true
|
|
},
|
|
slot2: {
|
|
type: DataTypes.INTEGER,
|
|
defaultValue: null,
|
|
allowNull: true
|
|
},
|
|
slot3: {
|
|
type: DataTypes.INTEGER,
|
|
defaultValue: null,
|
|
allowNull: true
|
|
}
|
|
},
|
|
{
|
|
tableName: 'Player',
|
|
sequelize: db
|
|
});
|
|
|
|
Unit.init({
|
|
id: {
|
|
type: DataTypes.INTEGER,
|
|
autoIncrement: true,
|
|
primaryKey: true
|
|
},
|
|
user_id: {
|
|
type: DataTypes.TEXT
|
|
},
|
|
character_id: {
|
|
type: DataTypes.INTEGER
|
|
}
|
|
},
|
|
{
|
|
tableName: 'Unit',
|
|
sequelize: db
|
|
});
|
|
|
|
(async () => {
|
|
await db.sync();
|
|
})();
|