refactor(db): move to core package (#4589)

This commit is contained in:
Meier Lukas
2025-12-17 08:59:52 +01:00
committed by GitHub
parent e954ea861c
commit 298a96054e
30 changed files with 258 additions and 217 deletions

View File

@@ -1,7 +1,7 @@
import { applyCustomMigrationsAsync } from ".";
import { database } from "../../driver";
import { db } from "../..";
applyCustomMigrationsAsync(database)
applyCustomMigrationsAsync(db)
.then(() => {
console.log("Custom migrations applied successfully");
process.exit(0);

View File

@@ -1,9 +1,8 @@
import { drizzle } from "drizzle-orm/mysql2";
import { migrate } from "drizzle-orm/mysql2/migrator";
import mysql from "mysql2";
import { createMysqlDb, createSharedDbConfig } from "@homarr/core/infrastructure/db";
import type { Database } from "../..";
import { env } from "../../env";
import * as mysqlSchema from "../../schema/mysql";
import { applyCustomMigrationsAsync } from "../custom";
import { seedDataAsync } from "../seed";
@@ -11,23 +10,8 @@ import { seedDataAsync } from "../seed";
const migrationsFolder = process.argv[2] ?? ".";
const migrateAsync = async () => {
const mysql2 = mysql.createConnection(
env.DB_URL
? { uri: env.DB_URL }
: {
host: env.DB_HOST,
database: env.DB_NAME,
port: env.DB_PORT,
user: env.DB_USER,
password: env.DB_PASSWORD,
},
);
const db = drizzle(mysql2, {
mode: "default",
schema: mysqlSchema,
casing: "snake_case",
});
const config = createSharedDbConfig(mysqlSchema);
const db = createMysqlDb(config);
await migrate(db, { migrationsFolder });
await seedDataAsync(db as unknown as Database);

View File

@@ -1,9 +1,8 @@
import { drizzle } from "drizzle-orm/node-postgres";
import { migrate } from "drizzle-orm/node-postgres/migrator";
import { Pool } from "pg";
import { createPostgresDb, createSharedDbConfig } from "@homarr/core/infrastructure/db";
import type { Database } from "../..";
import { env } from "../../env";
import * as pgSchema from "../../schema/postgresql";
import { applyCustomMigrationsAsync } from "../custom";
import { seedDataAsync } from "../seed";
@@ -11,23 +10,8 @@ import { seedDataAsync } from "../seed";
const migrationsFolder = process.argv[2] ?? ".";
const migrateAsync = async () => {
const pool = new Pool(
env.DB_URL
? { connectionString: env.DB_URL }
: {
host: env.DB_HOST,
database: env.DB_NAME,
port: env.DB_PORT,
user: env.DB_USER,
password: env.DB_PASSWORD,
},
);
const db = drizzle({
schema: pgSchema,
casing: "snake_case",
client: pool,
});
const config = createSharedDbConfig(pgSchema);
const db = createPostgresDb(config);
await migrate(db, { migrationsFolder });
await seedDataAsync(db as unknown as Database);

View File

@@ -1,7 +1,7 @@
import { database } from "../driver";
import { db } from "..";
import { seedDataAsync } from "./seed";
seedDataAsync(database)
seedDataAsync(db)
.then(() => {
console.log("Seed complete");
process.exit(0);

View File

@@ -1,8 +1,7 @@
import Database from "better-sqlite3";
import { drizzle } from "drizzle-orm/better-sqlite3";
import { migrate } from "drizzle-orm/better-sqlite3/migrator";
import { env } from "../../env";
import { createSharedDbConfig, createSqliteDb } from "@homarr/core/infrastructure/db";
import * as sqliteSchema from "../../schema/sqlite";
import { applyCustomMigrationsAsync } from "../custom";
import { seedDataAsync } from "../seed";
@@ -10,9 +9,8 @@ import { seedDataAsync } from "../seed";
const migrationsFolder = process.argv[2] ?? ".";
const migrateAsync = async () => {
const sqlite = new Database(env.DB_URL.replace("file:", ""));
const db = drizzle(sqlite, { schema: sqliteSchema, casing: "snake_case" });
const config = createSharedDbConfig(sqliteSchema);
const db = createSqliteDb(config);
migrate(db, { migrationsFolder });