gemma: generate apps/api/src/db/migrate.ts
This commit is contained in:
parent
d322b721bb
commit
a639a1522b
39
apps/api/src/db/migrate.ts
Normal file
39
apps/api/src/db/migrate.ts
Normal file
@ -0,0 +1,39 @@
|
||||
import { migrate } from "drizzle-orm/node-postgres/migrator"
|
||||
import { db } from "./index"
|
||||
import { users } from "./schema"
|
||||
import * as argon2 from "argon2"
|
||||
|
||||
async function runMigration() {
|
||||
try {
|
||||
console.log("Running migrations...")
|
||||
await migrate(db, { migrationsFolder: "./drizzle" })
|
||||
console.log("Migrations completed successfully")
|
||||
|
||||
console.log("Checking for admin user...")
|
||||
const existingAdmin = await db.query.users.findFirst({
|
||||
where: (users, { eq }) => eq(users.email, "admin@emberclone.local")
|
||||
})
|
||||
|
||||
if (!existingAdmin) {
|
||||
console.log("Creating default admin user...")
|
||||
const passwordHash = await argon2.hash("emberclone2026")
|
||||
|
||||
await db.insert(users).values({
|
||||
email: "admin@emberclone.local",
|
||||
passwordHash,
|
||||
name: "Admin",
|
||||
role: "admin"
|
||||
})
|
||||
console.log("Default admin user created: admin@emberclone.local")
|
||||
} else {
|
||||
console.log("Admin user already exists")
|
||||
}
|
||||
|
||||
process.exit(0)
|
||||
} catch (error) {
|
||||
console.error("Migration failed:", error)
|
||||
process.exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
runMigration()
|
||||
Loading…
Reference in New Issue
Block a user