40 lines
1.4 KiB
JavaScript
40 lines
1.4 KiB
JavaScript
import { withConn } from './pool.js';
|
|
export async function migrate() {
|
|
await withConn(async (conn) => {
|
|
await conn.query(`
|
|
CREATE TABLE IF NOT EXISTS guild_config (
|
|
guild_id VARCHAR(32) PRIMARY KEY,
|
|
moderation_enabled TINYINT(1) NOT NULL DEFAULT 1,
|
|
ai_enabled TINYINT(1) NOT NULL DEFAULT 0,
|
|
logs_enabled TINYINT(1) NOT NULL DEFAULT 0,
|
|
logs_channel_id VARCHAR(32) DEFAULT NULL,
|
|
qotd_enabled TINYINT(1) NOT NULL DEFAULT 0,
|
|
qotd_channel_id VARCHAR(32) DEFAULT NULL,
|
|
profanity_filter_enabled TINYINT(1) NOT NULL DEFAULT 1,
|
|
qotd_last_sent DATE DEFAULT NULL,
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
);
|
|
`);
|
|
await conn.query(`
|
|
CREATE TABLE IF NOT EXISTS user_xp (
|
|
guild_id VARCHAR(32) NOT NULL,
|
|
user_id VARCHAR(32) NOT NULL,
|
|
xp INT NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (guild_id, user_id),
|
|
INDEX (guild_id),
|
|
INDEX (xp)
|
|
);
|
|
`);
|
|
await conn.query(`
|
|
CREATE TABLE IF NOT EXISTS user_ai_memory (
|
|
guild_id VARCHAR(32) NOT NULL,
|
|
user_id VARCHAR(32) NOT NULL,
|
|
messages JSON NOT NULL,
|
|
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (guild_id, user_id)
|
|
);
|
|
`);
|
|
});
|
|
}
|