feat(backend): migrate freelancer and portal runtimes
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
CREATE TABLE `user_ai_settings` (
|
||||
`owner_user_id` text PRIMARY KEY NOT NULL,
|
||||
`provider` text DEFAULT 'gemini' NOT NULL,
|
||||
`model` text,
|
||||
`encrypted_api_key` text,
|
||||
`created_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
`updated_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
FOREIGN KEY (`owner_user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade,
|
||||
CONSTRAINT "user_ai_settings_provider_check" CHECK("user_ai_settings"."provider" in ('gemini', 'openai', 'groq', 'ollama'))
|
||||
);
|
||||
File diff suppressed because it is too large
Load Diff
@@ -36,6 +36,13 @@
|
||||
"when": 1784210311370,
|
||||
"tag": "0004_fancy_baron_zemo",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 5,
|
||||
"version": "6",
|
||||
"when": 1784234752708,
|
||||
"tag": "0005_brief_black_bolt",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
export * from "./auth";
|
||||
export * from "./domain";
|
||||
export * from "./runtime";
|
||||
export * from "./settings";
|
||||
export * from "./storage";
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
import { sql } from "drizzle-orm";
|
||||
import { check, sqliteTable, text } from "drizzle-orm/sqlite-core";
|
||||
import { user } from "./auth";
|
||||
|
||||
export type AiProvider = "gemini" | "openai" | "groq" | "ollama";
|
||||
|
||||
export const userAiSettings = sqliteTable(
|
||||
"user_ai_settings",
|
||||
{
|
||||
ownerUserId: text("owner_user_id")
|
||||
.primaryKey()
|
||||
.references(() => user.id, { onDelete: "cascade" }),
|
||||
provider: text("provider").$type<AiProvider>().default("gemini").notNull(),
|
||||
model: text("model"),
|
||||
encryptedApiKey: text("encrypted_api_key"),
|
||||
createdAt: text("created_at").default(sql`CURRENT_TIMESTAMP`).notNull(),
|
||||
updatedAt: text("updated_at").default(sql`CURRENT_TIMESTAMP`).notNull(),
|
||||
},
|
||||
(table) => [
|
||||
check(
|
||||
"user_ai_settings_provider_check",
|
||||
sql`${table.provider} in ('gemini', 'openai', 'groq', 'ollama')`,
|
||||
),
|
||||
],
|
||||
);
|
||||
Reference in New Issue
Block a user