refactor(v2): share effect sqlite database layer
This commit is contained in:
parent
dcbd244dd7
commit
b3d6f93148
6 changed files with 98 additions and 112 deletions
|
|
@ -1,8 +1,7 @@
|
|||
/* oxlint-disable */
|
||||
import type { MigrationConfig, MigrationFromJournalConfig, MigrationsJournal } from "drizzle-orm/migrator"
|
||||
import type { MigrationConfig } from "drizzle-orm/migrator"
|
||||
import { readMigrationFiles } from "drizzle-orm/migrator"
|
||||
import type { AnyRelations } from "drizzle-orm/relations"
|
||||
import crypto from "node:crypto"
|
||||
import { migrate as coreMigrate } from "../sqlite-core/effect/session"
|
||||
import type { EffectSQLiteDatabase } from "./driver"
|
||||
|
||||
|
|
@ -13,21 +12,3 @@ export function migrate<TRelations extends AnyRelations>(
|
|||
const migrations = readMigrationFiles(config)
|
||||
return coreMigrate(migrations, db.session, config)
|
||||
}
|
||||
|
||||
export function migrateFromJournal<TRelations extends AnyRelations>(
|
||||
db: EffectSQLiteDatabase<TRelations>,
|
||||
journal: MigrationsJournal,
|
||||
config: Omit<MigrationFromJournalConfig, "migrationsJournal"> = {},
|
||||
) {
|
||||
return coreMigrate(
|
||||
journal.map((migration) => ({
|
||||
sql: migration.sql.split("--> statement-breakpoint"),
|
||||
bps: true,
|
||||
folderMillis: migration.timestamp,
|
||||
hash: crypto.createHash("sha256").update(migration.sql).digest("hex"),
|
||||
name: migration.name,
|
||||
})),
|
||||
db.session,
|
||||
{ migrationsFolder: "", migrationsTable: config.migrationsTable },
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
export { EffectLogger } from "drizzle-orm/effect-core"
|
||||
export * from "./effect-sqlite/driver"
|
||||
export * from "./effect-sqlite/session"
|
||||
export { migrate, migrateFromJournal } from "./effect-sqlite/migrator"
|
||||
export { migrate } from "./effect-sqlite/migrator"
|
||||
|
||||
export * as EffectDrizzleSqlite from "."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue