Files
2026-04-19 14:05:40 +08:00

39 lines
1.3 KiB
JavaScript

const path = require('path');
require('dotenv').config({ path: path.join(__dirname, '../.env') });
const db = require('../db');
async function createAuditTable() {
const client = await db.pool.connect();
try {
console.log('正在创建 audit_logs 表...');
await client.query(`
CREATE TABLE IF NOT EXISTS audit_logs (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
username VARCHAR(50),
real_name VARCHAR(50),
ip_address VARCHAR(50),
method VARCHAR(10),
url TEXT,
description VARCHAR(255),
status INTEGER,
duration INTEGER,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
`);
console.log('正在创建索引...');
await client.query('CREATE INDEX IF NOT EXISTS idx_audit_logs_created_at ON audit_logs(created_at DESC);');
await client.query('CREATE INDEX IF NOT EXISTS idx_audit_logs_username ON audit_logs(username);');
console.log('audit_logs 表创建成功!');
} catch (err) {
console.error('创建表失败:', err);
} finally {
client.release();
process.exit();
}
}
createAuditTable();