mirror of
https://github.com/spacebarchat/server.git
synced 2026-11-08 23:38:15 +00:00
Use EnvConfig for database
This commit is contained in:
1 parent
ce7103e80f
commit
b0c5b5997a
1 file changed
+7
-4
@@ -22,6 +22,7 @@ import { green, red, yellow } from "picocolors";
|
||||
import { DataSource } from "typeorm";
|
||||
import { ProcessLifecycle } from "../util/util/ProcessLifecycle";
|
||||
import { PostgresDataSourceOptions } from "typeorm/driver/postgres/PostgresDataSourceOptions";
|
||||
import { EnvConfig } from "../util/config";
|
||||
|
||||
// UUID extension option is only supported with postgres
|
||||
// We want to generate all id's with Snowflakes that's why we have our own BaseEntity class
|
||||
@@ -58,8 +59,10 @@ export const DataSourceOptions = isHeadlessProcess
|
||||
charset: "utf8mb4",
|
||||
url: process.env.DATABASE,
|
||||
entities: [path.join(__dirname, "entities", "*.js")],
|
||||
synchronize: !!process.env.DB_SYNC,
|
||||
logging: !!process.env.DB_LOGGING,
|
||||
synchronize: EnvConfig.database.unsafeSchemaSync,
|
||||
logging: EnvConfig.logging.logDatabaseQueries,
|
||||
// Figure out why this doesn't work someday.
|
||||
// relationLoadStrategy: EnvConfig.database.disableJoins ? "query" : undefined, // mirrors DB_NO_JOINS
|
||||
bigNumberStrings: false,
|
||||
supportBigNumbers: true,
|
||||
name: "default",
|
||||
@@ -82,14 +85,14 @@ export function getDatabase(): DataSource | null {
|
||||
export async function initDatabase(): Promise<DataSource> {
|
||||
if (dbConnection) return dbConnection;
|
||||
|
||||
if (!process.env.DB_SYNC) {
|
||||
if (!EnvConfig.database.unsafeSchemaSync) {
|
||||
const supported = ["postgres"];
|
||||
if (!supported.includes(DatabaseType)) {
|
||||
console.log(
|
||||
"[Database]" +
|
||||
red(
|
||||
` We don't have migrations for DB type '${DatabaseType}'` +
|
||||
` To ignore, set DB_SYNC=true in your env. https://docs.spacebar.chat/setup/server/configuration/env/`,
|
||||
` To ignore, set DB_UNSAFE_SCHEMA_SYNC=true in your env. https://docs.spacebar.chat/setup/server/configuration/env/`,
|
||||
),
|
||||
);
|
||||
process.exit(1);
|
||||
|
||||
Reference in new issue
Block a user