event-local
Version:
Event client
47 lines • 2.33 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const mysql_async_adapter_1 = require("mysql-async-adapter");
class MySQLModule {
async onInit() {
this.mysql = await new mysql_async_adapter_1.default({
host: "127.0.0.1",
user: "root",
password: "Saq33rrT",
database: "sys"
}).connect();
const res = await this.mysql.query("CREATE DATABASE IF NOT EXISTS aux_events;");
const res2 = await this.mysql.query("use aux_events;");
// Хранилище событий
const res3 = await this.mysql.query(`create table if not exists events (
event_id bigint(255) UNSIGNED NOT NULL,
event_type varchar(1000),
event_data varchar(1000) NOT NULL,
entity_type VARCHAR(1000) NOT NULL,
entity_id varchar(1000) NOT NULL,
triggering_event VARCHAR(1000),
create_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);`);
if (res3["warningCount"] == 0)
await this.mysql.query("ALTER TABLE `events` ADD PRIMARY KEY (`event_id`)");
// Хранилище сущностей (1 строка 1 сущность)
const res4 = await this.mysql.query(`create table if not exists entities (
entity_type VARCHAR(1000),
entity_id VARCHAR(1000),
entity_version VARCHAR(1000) NOT NULL,
PRIMARY KEY(entity_type, entity_id)
);`);
// хранилище снимков
const res5 = await this.mysql.query(`create table if not exists snapshots (
entity_type VARCHAR(1000),
entity_id VARCHAR(1000),
entity_version VARCHAR(1000),
snapshot_type VARCHAR(1000) NOT NULL,
snapshot_json VARCHAR(1000) NOT NULL,
triggering_events VARCHAR(1000),
PRIMARY KEY (entity_type, entity_id, entity_version)
);`);
MySQLModule.db = this.mysql;
}
}
exports.default = MySQLModule;
//# sourceMappingURL=MySQLModule.js.map
;