@opengis/fastify-table
Version:
core-plugins
42 lines (31 loc) • 1.07 kB
text/typescript
import path from "node:path";
import Fastify from "fastify";
import config from "../config.js";
import plugin from "../index.js";
import execMigrations from "../server/plugins/migration/exec.migrations.js";
import pgClients from "../server/plugins/pg/pgClients.js";
const timeoutMs = +(config.migrationTimeout || 5000);
const port = process.env.PORT || config.port || 3000;
if (import.meta.main) {
migrate();
}
export default function migrate() {
const app = Fastify();
app.register(plugin, config);
app.listen({ host: "0.0.0.0", port }, (err: any) => {
console.log(`Server started via port: ${port}`);
execMigrations(
path.join(process.cwd(), "server/migrations"),
pgClients.client
).catch((err) => console.error(err.toString()));
setTimeout(() => {
console.log("Server closed after timeout", timeoutMs);
app.close();
process.exit(0);
}, timeoutMs);
if (err) {
console.error("migrations error", err.toString());
process.exit(1);
}
});
}