v3: added customizable site emoji (logo), small visual tweaks
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 41s
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 41s
This commit is contained in:
23
api/db/migrations/0007_password_reset_tokens.ts
Normal file
23
api/db/migrations/0007_password_reset_tokens.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import type { DatabaseSync } from "node:sqlite";
|
||||
|
||||
// Idempotent: safe to run against a fresh db (already created from schema.sql
|
||||
// with password_reset_tokens) or an existing one that predates the table.
|
||||
export function up(db: DatabaseSync): void {
|
||||
const tables = new Set(
|
||||
(db.prepare(
|
||||
`SELECT name FROM sqlite_master WHERE type = 'table';`,
|
||||
).all() as { name: string }[]).map((r) => r.name),
|
||||
);
|
||||
|
||||
if (!tables.has("password_reset_tokens")) {
|
||||
db.exec(
|
||||
`CREATE TABLE password_reset_tokens (
|
||||
token TEXT PRIMARY KEY,
|
||||
user_id TEXT NOT NULL,
|
||||
expires_at TEXT NOT NULL,
|
||||
used_at TEXT,
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
);`,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user