|
|
@ -4,6 +4,7 @@ const { R } = require("redbean-node"); |
|
|
|
const { |
|
|
|
setSetting, setting, |
|
|
|
} = require("./util-server"); |
|
|
|
const knex = require("knex"); |
|
|
|
|
|
|
|
class Database { |
|
|
|
|
|
|
@ -12,6 +13,24 @@ class Database { |
|
|
|
static latestVersion = 5; |
|
|
|
static noReject = true; |
|
|
|
|
|
|
|
static connect() { |
|
|
|
const Dialect = require("knex/lib/dialects/sqlite3/index.js"); |
|
|
|
Dialect.prototype._driver = () => require("@louislam/sqlite3"); |
|
|
|
|
|
|
|
R.setup(knex({ |
|
|
|
client: Dialect, |
|
|
|
connection: { |
|
|
|
filename: Database.path, |
|
|
|
}, |
|
|
|
useNullAsDefault: true, |
|
|
|
pool: { |
|
|
|
min: 1, |
|
|
|
max: 1, |
|
|
|
idleTimeoutMillis: 30000, |
|
|
|
} |
|
|
|
})); |
|
|
|
} |
|
|
|
|
|
|
|
static async patch() { |
|
|
|
let version = parseInt(await setting("database_version")); |
|
|
|
|
|
|
|