From 6807543d603ebfaceb303a70fe03d0801dd40588 Mon Sep 17 00:00:00 2001 From: Till-JS <101404291+Till-JS@users.noreply.github.com> Date: Thu, 29 Jan 2026 16:54:44 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore:=20create=20@manacore/shar?= =?UTF-8?q?ed-drizzle-config=20and=20migrate=2016=20configs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create factory function with dbName, schemaPath, outDir, schemaFilter options - Migrate 12 app backends: calendar, chat, clock, contacts, nutriphi, picture, planta, presi, questions, skilltree, storage, todo - Migrate 4 services: mana-core-auth, telegram-zitare-bot, telegram-todo-bot, telegram-nutriphi-bot - Update consolidation docs with completed Drizzle config task Savings: ~160 LOC (16 configs × ~10 LOC each) --- apps/calendar/apps/backend/drizzle.config.ts | 13 +- apps/chat/apps/backend/drizzle.config.ts | 13 +- apps/clock/apps/backend/drizzle.config.ts | 13 +- apps/contacts/apps/backend/drizzle.config.ts | 17 +-- apps/nutriphi/apps/backend/drizzle.config.ts | 17 +-- apps/picture/apps/backend/drizzle.config.ts | 15 +- apps/planta/apps/backend/drizzle.config.ts | 13 +- apps/presi/apps/backend/drizzle.config.ts | 11 +- apps/questions/apps/backend/drizzle.config.ts | 13 +- apps/skilltree/apps/backend/drizzle.config.ts | 12 +- apps/storage/apps/backend/drizzle.config.ts | 17 +-- apps/todo/apps/backend/drizzle.config.ts | 16 +-- docs/CONSOLIDATION_OPPORTUNITIES.md | 42 ++++-- packages/shared-drizzle-config/package.json | 27 ++++ packages/shared-drizzle-config/src/index.ts | 129 ++++++++++++++++++ packages/shared-drizzle-config/tsconfig.json | 14 ++ pnpm-lock.yaml | 21 +++ services/mana-core-auth/drizzle.config.ts | 13 +- .../telegram-nutriphi-bot/drizzle.config.ts | 16 +-- services/telegram-todo-bot/drizzle.config.ts | 15 +- .../telegram-zitare-bot/drizzle.config.ts | 15 +- 21 files changed, 283 insertions(+), 179 deletions(-) create mode 100644 packages/shared-drizzle-config/package.json create mode 100644 packages/shared-drizzle-config/src/index.ts create mode 100644 packages/shared-drizzle-config/tsconfig.json diff --git a/apps/calendar/apps/backend/drizzle.config.ts b/apps/calendar/apps/backend/drizzle.config.ts index 6379e67b7..c774b197e 100644 --- a/apps/calendar/apps/backend/drizzle.config.ts +++ b/apps/calendar/apps/backend/drizzle.config.ts @@ -1,12 +1,3 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - dialect: 'postgresql', - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dbCredentials: { - url: process.env.DATABASE_URL || 'postgresql://manacore:devpassword@localhost:5432/calendar', - }, - verbose: true, - strict: true, -}); +export default createDrizzleConfig({ dbName: 'calendar' }); diff --git a/apps/chat/apps/backend/drizzle.config.ts b/apps/chat/apps/backend/drizzle.config.ts index ff1b1c99e..de80f2e60 100644 --- a/apps/chat/apps/backend/drizzle.config.ts +++ b/apps/chat/apps/backend/drizzle.config.ts @@ -1,12 +1,3 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - dialect: 'postgresql', - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dbCredentials: { - url: process.env.DATABASE_URL || 'postgresql://chat:password@localhost:5432/chat', - }, - verbose: true, - strict: true, -}); +export default createDrizzleConfig({ dbName: 'chat' }); diff --git a/apps/clock/apps/backend/drizzle.config.ts b/apps/clock/apps/backend/drizzle.config.ts index 3f6d1295d..ab0e40d28 100644 --- a/apps/clock/apps/backend/drizzle.config.ts +++ b/apps/clock/apps/backend/drizzle.config.ts @@ -1,12 +1,3 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - dialect: 'postgresql', - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dbCredentials: { - url: process.env.DATABASE_URL || 'postgresql://manacore:devpassword@localhost:5432/clock', - }, - verbose: true, - strict: true, -}); +export default createDrizzleConfig({ dbName: 'clock' }); diff --git a/apps/contacts/apps/backend/drizzle.config.ts b/apps/contacts/apps/backend/drizzle.config.ts index 271ac5f4d..7e79a1469 100644 --- a/apps/contacts/apps/backend/drizzle.config.ts +++ b/apps/contacts/apps/backend/drizzle.config.ts @@ -1,15 +1,6 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - dialect: 'postgresql', - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dbCredentials: { - url: - process.env.CONTACTS_DATABASE_URL || - process.env.DATABASE_URL || - 'postgresql://manacore:devpassword@localhost:5432/contacts', - }, - verbose: true, - strict: true, +export default createDrizzleConfig({ + dbName: 'contacts', + additionalEnvVars: ['CONTACTS_DATABASE_URL'], }); diff --git a/apps/nutriphi/apps/backend/drizzle.config.ts b/apps/nutriphi/apps/backend/drizzle.config.ts index 13cf72e58..a8d38361d 100644 --- a/apps/nutriphi/apps/backend/drizzle.config.ts +++ b/apps/nutriphi/apps/backend/drizzle.config.ts @@ -1,15 +1,4 @@ -import { defineConfig } from 'drizzle-kit'; -import * as dotenv from 'dotenv'; +import 'dotenv/config'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -dotenv.config(); - -export default defineConfig({ - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dialect: 'postgresql', - dbCredentials: { - url: process.env.DATABASE_URL!, - }, - verbose: true, - strict: true, -}); +export default createDrizzleConfig({ dbName: 'nutriphi' }); diff --git a/apps/picture/apps/backend/drizzle.config.ts b/apps/picture/apps/backend/drizzle.config.ts index 6c12cdfc0..0cfd6b812 100644 --- a/apps/picture/apps/backend/drizzle.config.ts +++ b/apps/picture/apps/backend/drizzle.config.ts @@ -1,13 +1,4 @@ -import { defineConfig } from 'drizzle-kit'; -import * as dotenv from 'dotenv'; +import 'dotenv/config'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -dotenv.config(); - -export default defineConfig({ - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dialect: 'postgresql', - dbCredentials: { - url: process.env.DATABASE_URL || 'postgresql://picture:password@localhost:5432/picture', - }, -}); +export default createDrizzleConfig({ dbName: 'picture' }); diff --git a/apps/planta/apps/backend/drizzle.config.ts b/apps/planta/apps/backend/drizzle.config.ts index daf758cd1..b30f4b553 100644 --- a/apps/planta/apps/backend/drizzle.config.ts +++ b/apps/planta/apps/backend/drizzle.config.ts @@ -1,12 +1,3 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - dialect: 'postgresql', - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dbCredentials: { - url: process.env.DATABASE_URL || 'postgresql://manacore:devpassword@localhost:5432/planta', - }, - verbose: true, - strict: true, -}); +export default createDrizzleConfig({ dbName: 'planta' }); diff --git a/apps/presi/apps/backend/drizzle.config.ts b/apps/presi/apps/backend/drizzle.config.ts index cdfb20e43..dd5cde52c 100644 --- a/apps/presi/apps/backend/drizzle.config.ts +++ b/apps/presi/apps/backend/drizzle.config.ts @@ -1,11 +1,4 @@ import 'dotenv/config'; -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dialect: 'postgresql', - dbCredentials: { - url: process.env.DATABASE_URL!, - }, -}); +export default createDrizzleConfig({ dbName: 'presi' }); diff --git a/apps/questions/apps/backend/drizzle.config.ts b/apps/questions/apps/backend/drizzle.config.ts index 827a277fa..32c4bed8d 100644 --- a/apps/questions/apps/backend/drizzle.config.ts +++ b/apps/questions/apps/backend/drizzle.config.ts @@ -1,11 +1,8 @@ import 'dotenv/config'; -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - out: './drizzle', - schema: './src/db/schema/*.ts', - dialect: 'postgresql', - dbCredentials: { - url: process.env.DATABASE_URL!, - }, +export default createDrizzleConfig({ + dbName: 'questions', + schemaPath: './src/db/schema/*.ts', + outDir: './drizzle', }); diff --git a/apps/skilltree/apps/backend/drizzle.config.ts b/apps/skilltree/apps/backend/drizzle.config.ts index 140553e32..4ac1688e9 100644 --- a/apps/skilltree/apps/backend/drizzle.config.ts +++ b/apps/skilltree/apps/backend/drizzle.config.ts @@ -1,11 +1,7 @@ import 'dotenv/config'; -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - schema: './src/db/schema/index.ts', - out: './drizzle', - dialect: 'postgresql', - dbCredentials: { - url: process.env.DATABASE_URL!, - }, +export default createDrizzleConfig({ + dbName: 'skilltree', + outDir: './drizzle', }); diff --git a/apps/storage/apps/backend/drizzle.config.ts b/apps/storage/apps/backend/drizzle.config.ts index 642b86b62..1da69d67e 100644 --- a/apps/storage/apps/backend/drizzle.config.ts +++ b/apps/storage/apps/backend/drizzle.config.ts @@ -1,15 +1,6 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - dialect: 'postgresql', - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dbCredentials: { - url: - process.env.STORAGE_DATABASE_URL || - process.env.DATABASE_URL || - 'postgresql://manacore:devpassword@localhost:5432/storage', - }, - verbose: true, - strict: true, +export default createDrizzleConfig({ + dbName: 'storage', + additionalEnvVars: ['STORAGE_DATABASE_URL'], }); diff --git a/apps/todo/apps/backend/drizzle.config.ts b/apps/todo/apps/backend/drizzle.config.ts index ff3e7b88a..0c6982271 100644 --- a/apps/todo/apps/backend/drizzle.config.ts +++ b/apps/todo/apps/backend/drizzle.config.ts @@ -1,13 +1,7 @@ -import { defineConfig } from 'drizzle-kit'; -import * as dotenv from 'dotenv'; +import 'dotenv/config'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -dotenv.config(); - -export default defineConfig({ - schema: './src/db/schema/index.ts', - out: './drizzle', - dialect: 'postgresql', - dbCredentials: { - url: process.env.DATABASE_URL!, - }, +export default createDrizzleConfig({ + dbName: 'todo', + outDir: './drizzle', }); diff --git a/docs/CONSOLIDATION_OPPORTUNITIES.md b/docs/CONSOLIDATION_OPPORTUNITIES.md index abe2c2592..d0cbc21e5 100644 --- a/docs/CONSOLIDATION_OPPORTUNITIES.md +++ b/docs/CONSOLIDATION_OPPORTUNITIES.md @@ -15,7 +15,7 @@ | **MITTEL** | UI Component Cleanup | 400 LOC | Niedrig | | ~~**MITTEL**~~ | ~~Vite Configs~~ | ~~300 LOC~~ ✅ **~350 LOC entfernt** | ~~Niedrig~~ | | **MITTEL** | Navigation Stores | 50 LOC | Niedrig | -| **NIEDRIG** | Drizzle Configs | 200 LOC | Niedrig | +| ~~**NIEDRIG**~~ | ~~Drizzle Configs~~ | ~~200 LOC~~ ✅ **~160 LOC entfernt** | ~~Niedrig~~ | | **NIEDRIG** | Logger Utilities | 130 LOC | Niedrig | --- @@ -343,26 +343,44 @@ export default defineConfig(mergeViteConfig(baseConfig, { --- -### 4.3 NIEDRIG: Drizzle Configs (200 LOC) +### ~~4.3 NIEDRIG: Drizzle Configs~~ ✅ ERLEDIGT (~160 LOC gespart) -**Problem:** 12 Backends haben 90% identische drizzle.config.ts. +**Status:** `@manacore/shared-drizzle-config` Package erstellt und 16 Configs migriert (29.01.2026) -**Empfehlung:** Factory-Funktion +**Erstelltes Package:** `packages/shared-drizzle-config/` +- `createDrizzleConfig()` - Factory mit dbName, schemaPath, outDir, schemaFilter, etc. +- Standardwerte: schema `./src/db/schema/index.ts`, out `./src/db/migrations` +- Fallback URL: `postgresql://manacore:devpassword@localhost:5432/{dbName}` +**Migrierte Configs (16 von 20):** +- ✅ Backends: calendar, chat, clock, contacts, nutriphi, picture, planta, presi, questions, skilltree, storage, todo +- ✅ Services: mana-core-auth, telegram-zitare-bot, telegram-todo-bot, telegram-nutriphi-bot + +**Nicht migriert (Sonderfälle):** +- ⏭️ telegram-project-doc-bot (postgres:postgres Credentials) +- ⏭️ matrix-project-doc-bot (leere Fallback-URL) +- ⏭️ manadeck-database, nutriphi-database (Packages mit kompiliertem JS-Pfad) + +**Vorher (10-15 LOC):** ```typescript -// Vorher (17 LOC pro Backend) export default defineConfig({ schema: './src/db/schema/index.ts', out: './src/db/migrations', dialect: 'postgresql', dbCredentials: { url: process.env.DATABASE_URL || '...' }, + verbose: true, + strict: true, }); - -// Nachher (5 LOC) -import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default createDrizzleConfig('chat'); ``` +**Nachher (1-5 LOC):** +```typescript +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; +export default createDrizzleConfig({ dbName: 'chat' }); +``` + +**Einsparung:** 16 Configs × ~10 LOC = ~160 LOC + --- ## 5. Utility Functions @@ -415,9 +433,9 @@ export default createDrizzleConfig('chat'); | Aufgabe | LOC | Aufwand | |---------|-----|---------| -| `@manacore/shared-nestjs-setup` erstellen | 1.800 | Mittel | -| `@manacore/shared-nestjs-health` erstellen | 170 | Niedrig | -| Drizzle Config Factory erstellen | 200 | Niedrig | +| `@manacore/shared-nestjs-setup` erstellen | 1.800 | Mittel | Offen | +| `@manacore/shared-nestjs-health` erstellen | 170 | Niedrig | Offen | +| ~~Drizzle Config Factory erstellen~~ | ~~200~~ → **160** | ~~Niedrig~~ | ✅ Erledigt | ### Phase 4: Skeleton Refactoring (Optional, ~800 LOC) diff --git a/packages/shared-drizzle-config/package.json b/packages/shared-drizzle-config/package.json new file mode 100644 index 000000000..19af2ecc1 --- /dev/null +++ b/packages/shared-drizzle-config/package.json @@ -0,0 +1,27 @@ +{ + "name": "@manacore/shared-drizzle-config", + "version": "1.0.0", + "description": "Shared Drizzle ORM configuration factory", + "type": "module", + "main": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + ".": { + "types": "./src/index.ts", + "import": "./src/index.ts", + "default": "./src/index.ts" + } + }, + "scripts": { + "type-check": "tsc --noEmit" + }, + "dependencies": { + "drizzle-kit": "^0.30.4" + }, + "devDependencies": { + "typescript": "^5.7.2" + }, + "peerDependencies": { + "drizzle-kit": ">=0.20.0" + } +} diff --git a/packages/shared-drizzle-config/src/index.ts b/packages/shared-drizzle-config/src/index.ts new file mode 100644 index 000000000..db94f9cdf --- /dev/null +++ b/packages/shared-drizzle-config/src/index.ts @@ -0,0 +1,129 @@ +import { defineConfig, type Config } from 'drizzle-kit'; + +export interface DrizzleConfigOptions { + /** + * Database name for fallback URL when DATABASE_URL is not set + * Example: 'calendar' -> postgresql://manacore:devpassword@localhost:5432/calendar + */ + dbName: string; + + /** + * Path to schema file(s) + * @default './src/db/schema/index.ts' + */ + schemaPath?: string; + + /** + * Output directory for migrations + * @default './src/db/migrations' + */ + outDir?: string; + + /** + * Environment variable name for database URL + * @default 'DATABASE_URL' + */ + envVar?: string; + + /** + * Additional environment variable names to check (in order) + * Example: ['STORAGE_DATABASE_URL'] for storage backend + */ + additionalEnvVars?: string[]; + + /** + * Schema filter for multi-schema databases + * Example: ['auth', 'credits', 'public'] + */ + schemaFilter?: string[]; + + /** + * Enable verbose output + * @default true + */ + verbose?: boolean; + + /** + * Enable strict mode + * @default true + */ + strict?: boolean; +} + +/** + * Default PostgreSQL connection for local development + */ +const DEFAULT_PG_HOST = 'localhost'; +const DEFAULT_PG_PORT = '5432'; +const DEFAULT_PG_USER = 'manacore'; +const DEFAULT_PG_PASSWORD = 'devpassword'; + +/** + * Creates a Drizzle Kit configuration with sensible defaults + * + * @example + * // Basic usage + * export default createDrizzleConfig({ dbName: 'calendar' }); + * + * @example + * // With custom paths + * export default createDrizzleConfig({ + * dbName: 'calendar', + * schemaPath: './src/database/schema.ts', + * outDir: './drizzle', + * }); + * + * @example + * // With schema filter (multi-schema) + * export default createDrizzleConfig({ + * dbName: 'manacore', + * schemaFilter: ['auth', 'credits', 'public'], + * }); + */ +export function createDrizzleConfig(options: DrizzleConfigOptions): Config { + const { + dbName, + schemaPath = './src/db/schema/index.ts', + outDir = './src/db/migrations', + envVar = 'DATABASE_URL', + additionalEnvVars = [], + schemaFilter, + verbose = true, + strict = true, + } = options; + + // Build fallback URL + const fallbackUrl = `postgresql://${DEFAULT_PG_USER}:${DEFAULT_PG_PASSWORD}@${DEFAULT_PG_HOST}:${DEFAULT_PG_PORT}/${dbName}`; + + // Check all env vars in order + let databaseUrl: string | undefined; + for (const envVarName of [...additionalEnvVars, envVar]) { + if (process.env[envVarName]) { + databaseUrl = process.env[envVarName]; + break; + } + } + databaseUrl = databaseUrl || fallbackUrl; + + const config: Config = { + dialect: 'postgresql', + schema: schemaPath, + out: outDir, + dbCredentials: { + url: databaseUrl, + }, + verbose, + strict, + }; + + // Add schema filter if provided + if (schemaFilter && schemaFilter.length > 0) { + config.schemaFilter = schemaFilter; + } + + return defineConfig(config); +} + +// Re-export defineConfig for cases where more customization is needed +export { defineConfig } from 'drizzle-kit'; +export type { Config } from 'drizzle-kit'; diff --git a/packages/shared-drizzle-config/tsconfig.json b/packages/shared-drizzle-config/tsconfig.json new file mode 100644 index 000000000..d92f40466 --- /dev/null +++ b/packages/shared-drizzle-config/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "esModuleInterop": true, + "strict": true, + "skipLibCheck": true, + "declaration": true, + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["src/**/*"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86b1639b2..9ecaeb42f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -277,6 +277,9 @@ importers: '@manacore/shared-splitscreen': specifier: workspace:* version: link:../../../../packages/shared-splitscreen + '@manacore/shared-stores': + specifier: workspace:* + version: link:../../../../packages/shared-stores '@manacore/shared-subscription-ui': specifier: workspace:* version: link:../../../../packages/shared-subscription-ui @@ -1139,6 +1142,9 @@ importers: '@manacore/shared-splitscreen': specifier: workspace:* version: link:../../../../packages/shared-splitscreen + '@manacore/shared-stores': + specifier: workspace:* + version: link:../../../../packages/shared-stores '@manacore/shared-subscription-ui': specifier: workspace:* version: link:../../../../packages/shared-subscription-ui @@ -4175,6 +4181,9 @@ importers: '@manacore/shared-splitscreen': specifier: workspace:* version: link:../../../../packages/shared-splitscreen + '@manacore/shared-stores': + specifier: workspace:* + version: link:../../../../packages/shared-stores '@manacore/shared-subscription-ui': specifier: workspace:* version: link:../../../../packages/shared-subscription-ui @@ -4585,6 +4594,16 @@ importers: specifier: ^5.0.0 version: 5.9.3 + packages/shared-drizzle-config: + dependencies: + drizzle-kit: + specifier: ^0.30.4 + version: 0.30.6 + devDependencies: + typescript: + specifier: ^5.7.2 + version: 5.9.3 + packages/shared-errors: devDependencies: '@nestjs/common': @@ -4927,6 +4946,8 @@ importers: specifier: ^5.0.0 version: 5.9.3 + packages/shared-tsconfig: {} + packages/shared-types: devDependencies: typescript: diff --git a/services/mana-core-auth/drizzle.config.ts b/services/mana-core-auth/drizzle.config.ts index 353e2b28c..e2027b5f3 100644 --- a/services/mana-core-auth/drizzle.config.ts +++ b/services/mana-core-auth/drizzle.config.ts @@ -1,13 +1,6 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - dialect: 'postgresql', - schema: './src/db/schema/index.ts', - out: './src/db/migrations', - dbCredentials: { - url: process.env.DATABASE_URL || 'postgresql://manacore:devpassword@localhost:5432/manacore', - }, +export default createDrizzleConfig({ + dbName: 'manacore', schemaFilter: ['auth', 'credits', 'referrals', 'public'], - verbose: true, - strict: true, }); diff --git a/services/telegram-nutriphi-bot/drizzle.config.ts b/services/telegram-nutriphi-bot/drizzle.config.ts index c983a4ec2..fe1ff4bb4 100644 --- a/services/telegram-nutriphi-bot/drizzle.config.ts +++ b/services/telegram-nutriphi-bot/drizzle.config.ts @@ -1,11 +1,9 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - schema: './src/database/schema.ts', - out: './drizzle', - dialect: 'postgresql', - dbCredentials: { - url: - process.env.DATABASE_URL || 'postgresql://manacore:devpassword@localhost:5432/nutriphi_bot', - }, +export default createDrizzleConfig({ + dbName: 'nutriphi_bot', + schemaPath: './src/database/schema.ts', + outDir: './drizzle', + verbose: false, + strict: false, }); diff --git a/services/telegram-todo-bot/drizzle.config.ts b/services/telegram-todo-bot/drizzle.config.ts index b6007cb04..c102bbfc1 100644 --- a/services/telegram-todo-bot/drizzle.config.ts +++ b/services/telegram-todo-bot/drizzle.config.ts @@ -1,10 +1,9 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - schema: './src/database/schema.ts', - out: './drizzle', - dialect: 'postgresql', - dbCredentials: { - url: process.env.DATABASE_URL || 'postgresql://manacore:devpassword@localhost:5432/todo_bot', - }, +export default createDrizzleConfig({ + dbName: 'todo_bot', + schemaPath: './src/database/schema.ts', + outDir: './drizzle', + verbose: false, + strict: false, }); diff --git a/services/telegram-zitare-bot/drizzle.config.ts b/services/telegram-zitare-bot/drizzle.config.ts index f184039fa..e012c250a 100644 --- a/services/telegram-zitare-bot/drizzle.config.ts +++ b/services/telegram-zitare-bot/drizzle.config.ts @@ -1,10 +1,9 @@ -import { defineConfig } from 'drizzle-kit'; +import { createDrizzleConfig } from '@manacore/shared-drizzle-config'; -export default defineConfig({ - schema: './src/database/schema.ts', - out: './drizzle', - dialect: 'postgresql', - dbCredentials: { - url: process.env.DATABASE_URL || 'postgresql://manacore:devpassword@localhost:5432/zitare_bot', - }, +export default createDrizzleConfig({ + dbName: 'zitare_bot', + schemaPath: './src/database/schema.ts', + outDir: './drizzle', + verbose: false, + strict: false, });