26 lines
1.1 KiB
JavaScript
26 lines
1.1 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createDatabase = createDatabase;
|
|
const kysely_1 = require("kysely");
|
|
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
const path_1 = __importDefault(require("path"));
|
|
const fs_1 = __importDefault(require("fs"));
|
|
function createDatabase(config) {
|
|
if (config.driver === 'postgres') {
|
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
const { Pool } = require('pg');
|
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
const { PostgresDialect } = require('kysely');
|
|
return new kysely_1.Kysely({
|
|
dialect: new PostgresDialect({ pool: new Pool({ connectionString: config.url }) }),
|
|
});
|
|
}
|
|
fs_1.default.mkdirSync(path_1.default.dirname(config.path), { recursive: true });
|
|
return new kysely_1.Kysely({
|
|
dialect: new kysely_1.SqliteDialect({ database: new better_sqlite3_1.default(config.path) }),
|
|
});
|
|
}
|