Fix issues
This commit is contained in:
39
dist/db/migrate.js
vendored
Normal file
39
dist/db/migrate.js
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
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)
|
||||
);
|
||||
`);
|
||||
});
|
||||
}
|
||||
20
dist/db/pool.js
vendored
Normal file
20
dist/db/pool.js
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import mariadb from 'mariadb';
|
||||
import { env } from '../config/env.js';
|
||||
export const pool = mariadb.createPool({
|
||||
host: env.db.host,
|
||||
port: env.db.port,
|
||||
user: env.db.user,
|
||||
password: env.db.password,
|
||||
database: env.db.database,
|
||||
connectionLimit: 5,
|
||||
multipleStatements: true
|
||||
});
|
||||
export async function withConn(fn) {
|
||||
const conn = await pool.getConnection();
|
||||
try {
|
||||
return await fn(conn);
|
||||
}
|
||||
finally {
|
||||
conn.end();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user