Check database schema compatibility.

The server will not start unless it satisfies itself that we're
running against a compatible database schema.
This commit is contained in:
D. Berge
2022-02-06 22:52:45 +01:00
parent 81ce6346b9
commit 83be83e4bd

View File

@@ -1,18 +1,28 @@
#!/usr/bin/node
const api = require('./api');
const ws = require('./ws');
async function main () {
// Check that we're running against the correct database version
const version = require('./lib/version');
console.log("Running version", await version.describe());
version.compatible()
.then( () => {
const api = require('./api');
const ws = require('./ws');
const { fork } = require('child_process');
const { fork } = require('child_process');
// const em = require('./events');
const server = api.start(process.env.HTTP_PORT || 3000, process.env.HTTP_PATH);
ws.start(server);
const server = api.start(process.env.HTTP_PORT || 3000, process.env.HTTP_PATH);
ws.start(server);
const eventManagerPath = [__dirname, "events"].join("/");
const eventManager = fork(eventManagerPath, /*{ stdio: 'ignore' }*/);
const eventManagerPath = [__dirname, "events"].join("/");
const eventManager = fork(eventManagerPath, /*{ stdio: 'ignore' }*/);
process.on('exit', () => eventManager.kill());
})
.catch( ({current, wanted}) => {
console.error(`Fatal error: incompatible database schema version ${current} (wanted: ${wanted})`);
process.exit(1);
});
}
process.on('exit', () => eventManager.kill());
// em.start();
main();