feat: support server db mode with Postgres / Drizzle ORM / tRPC (#2556)

This commit is contained in:
Arvin Xu
2024-06-17 03:06:59 +00:00
parent 7789340ead
commit b26afbff7f
80 changed files with 14644 additions and 233 deletions

29
drizzle.config.ts Normal file
View File

@@ -0,0 +1,29 @@
import * as dotenv from 'dotenv';
import type { Config } from 'drizzle-kit';
// Read the .env file if it exists, or a file specified by the
// dotenv_config_path parameter that's passed to Node.js
dotenv.config();
let connectionString = process.env.DATABASE_URL;
if (process.env.NODE_ENV === 'test') {
console.log('current ENV:', process.env.NODE_ENV);
connectionString = process.env.DATABASE_TEST_URL;
}
if (!connectionString)
throw new Error('`DATABASE_URL` or `DATABASE_TEST_URL` not found in environment');
export default {
dbCredentials: {
url: connectionString,
},
dialect: 'postgresql',
out: './src/database/server/migrations',
schema: './src/database/server/schemas/lobechat.ts',
strict: true,
} satisfies Config;