Docker images / prepare-release (push) Successful in 12s
Docker images / backend-test (push) Successful in 4m9s
Docker images / frontend-image (push) Successful in 4m28s
Docker images / updater-image (push) Successful in 58s
Docker images / backend-image (push) Successful in 2m49s
Docker images / notify-webhook (push) Skipped
Docker images / publish-release (push) Successful in 11s
При старте backend накатывает схему PostgreSQL 18 и, если база пустая, один раз импортирует mikrotik.db с тома. Повторный старт не копирует данные. Бэкап в UI идёт через pg_dump. Co-authored-by: Cursor <[email protected]>
23 lines
555 B
TypeScript
23 lines
555 B
TypeScript
import { initDatabase } from "../db/bootstrap.js"
|
|
|
|
let ready: Promise<boolean> | null = null
|
|
|
|
/** Initialize schema against DATABASE_URL; return false if PostgreSQL is unreachable. */
|
|
export function withPgOrSkip(): Promise<boolean> {
|
|
if (!ready) {
|
|
ready = (async () => {
|
|
try {
|
|
await initDatabase()
|
|
return true
|
|
} catch (err) {
|
|
console.warn(
|
|
"skip: PostgreSQL недоступен",
|
|
err instanceof Error ? err.message : err,
|
|
)
|
|
return false
|
|
}
|
|
})()
|
|
}
|
|
return ready
|
|
}
|