@oberoncms/plugin-pgsql
Version:
A PostgreSQL database plugin for OberonCMS
42 lines (32 loc) • 979 B
text/typescript
import "server-cli-only"
import {
USE_DEVELOPMENT_DATABASE_PLUGIN,
type OberonPlugin,
} from "@oberoncms/core"
import { migrate } from "drizzle-orm/node-postgres/migrator"
import { name, version } from "../package.json" with { type: "json" }
import { getDatabaseAdapter } from "./db/database-adapter"
import { getAuthAdapter } from "./db/auth-adapter"
import { db } from "./db/client"
export const plugin: OberonPlugin = (adapter) => ({
name,
version,
disabled: USE_DEVELOPMENT_DATABASE_PLUGIN,
adapter: {
...getDatabaseAdapter(db),
...getAuthAdapter(db),
init: async () => {
await adapter.prebuild()
console.log(`Migrating database`)
if (!db) {
console.log("Prepare: No Database Connection Configured")
return
}
await migrate(db, {
migrationsFolder:
"node_modules/@oberoncms/plugin-pgsql/src/db/migrations",
})
console.log(`Database migration complete`)
},
},
})