This commit is contained in:
Morten Olsen
2024-01-12 12:43:51 +01:00
commit 6d8e5bf955
109 changed files with 9246 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
import knex, { Knex } from 'knex';
import { source } from './migrations/migrations.source.js';
const tableNames = {
loads: 'loads',
};
class Database {
#instance?: Promise<Knex>;
#config: Knex.Config;
constructor(config: Knex.Config) {
this.#config = {
...config,
migrations: {
migrationSource: source,
},
};
}
#setup = async (config: Knex.Config) => {
const db = knex(config);
await db.migrate.latest();
return db;
};
public get instance() {
if (!this.#instance) {
this.#instance = this.#setup(this.#config);
}
return this.#instance;
}
}
export { Database, tableNames };