Download src/shared/database/migrations.ts from aukaru/344: direct link, hf CLI and curl.
- Browser
- Download file 1.49 kB
-
https://huggingface.co/spaces/aukaru/344/resolve/main/src/shared/database/migrations.ts
- Command line
-
hf download hf://spaces/aukaru/344/src/shared/database/migrations.ts
-
curl -L -o migrations.ts https://huggingface.co/spaces/aukaru/344/resolve/main/src/shared/database/migrations.ts
1.49 kB
| import type sqlite3 from "better-sqlite3"; | |
| type Migration = { | |
| name: string; | |
| version: number; | |
| up: (db: sqlite3.Database) => void; | |
| down: (db: sqlite3.Database) => void; | |
| }; | |
| export const migrations = [ | |
| { | |
| name: "create db", | |
| version: 1, | |
| up: () => {}, | |
| down: () => {}, | |
| }, | |
| { | |
| name: "add events table", | |
| version: 2, | |
| up: (db) => { | |
| db.exec( | |
| `CREATE TABLE IF NOT EXISTS events | |
| ( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| type TEXT NOT NULL, | |
| ip TEXT NOT NULL, | |
| date TEXT NOT NULL, | |
| model TEXT NOT NULL, | |
| family TEXT NOT NULL, | |
| hashes TEXT NOT NULL, | |
| userToken TEXT NOT NULL, | |
| inputTokens INTEGER NOT NULL, | |
| outputTokens INTEGER NOT NULL | |
| )` | |
| ); | |
| }, | |
| down: (db) => db.exec("DROP TABLE events"), | |
| }, | |
| { | |
| name: "add events indexes", | |
| version: 3, | |
| up: (db) => { | |
| // language=SQLite | |
| db.exec( | |
| `BEGIN; | |
| CREATE INDEX IF NOT EXISTS idx_events_userToken ON events (userToken); | |
| CREATE INDEX IF NOT EXISTS idx_events_ip ON events (ip); | |
| COMMIT;` | |
| ); | |
| }, | |
| down: (db) => { | |
| // language=SQLite | |
| db.exec( | |
| `BEGIN; | |
| DROP INDEX idx_events_userToken; | |
| DROP INDEX idx_events_ip; | |
| COMMIT;` | |
| ); | |
| }, | |
| }, | |
| ] satisfies Migration[]; | |