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