🔧 chore: create @manacore/shared-drizzle-config and migrate 16 configs

- 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)
This commit is contained in:
Till-JS 2026-01-29 16:54:44 +01:00
parent 188290b427
commit 6807543d60
21 changed files with 283 additions and 179 deletions

View file

@ -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' });

View file

@ -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' });

View file

@ -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' });

View file

@ -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'],
});

View file

@ -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' });

View file

@ -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' });

View file

@ -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' });

View file

@ -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' });

View file

@ -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',
});

View file

@ -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',
});

View file

@ -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'],
});

View file

@ -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',
});