From 6c91415de46fe6a81ef1fdbd3f9f82c67aeb97d6 Mon Sep 17 00:00:00 2001 From: Milo Schwartz Date: Fri, 27 Sep 2024 22:11:37 -0400 Subject: [PATCH] added basic proxyTargets schema --- server/db/schema.ts | 12 ++-- server/migrations/0000_petite_zarda.sql | 9 +++ server/migrations/meta/0000_snapshot.json | 70 +++++++++++++++++++++++ server/migrations/meta/_journal.json | 13 +++++ 4 files changed, 99 insertions(+), 5 deletions(-) create mode 100644 server/migrations/0000_petite_zarda.sql create mode 100644 server/migrations/meta/0000_snapshot.json create mode 100644 server/migrations/meta/_journal.json diff --git a/server/db/schema.ts b/server/db/schema.ts index 55be8324..1d90b290 100644 --- a/server/db/schema.ts +++ b/server/db/schema.ts @@ -1,10 +1,12 @@ import { InferSelectModel } from "drizzle-orm"; import { sqliteTable, text, integer } from "drizzle-orm/sqlite-core"; -export const schools = sqliteTable("schools", { - id: integer("id").primaryKey({ autoIncrement: true }), - name: text("name"), - abbreviation: text("abbreviation"), +export const proxyTargets = sqliteTable("proxyTargets", { + id: text("id").unique().notNull().primaryKey(), + target: text("target").notNull(), + rule: text("rule").notNull(), + entryPoint: text("entryPoint").notNull(), + enabled: integer("enabled", { mode: "boolean" }).notNull().default(true), }); -export type SelectSchoolType = InferSelectModel; +export type SelectProxyTargets = InferSelectModel; diff --git a/server/migrations/0000_petite_zarda.sql b/server/migrations/0000_petite_zarda.sql new file mode 100644 index 00000000..ce65bec1 --- /dev/null +++ b/server/migrations/0000_petite_zarda.sql @@ -0,0 +1,9 @@ +CREATE TABLE `proxyTargets` ( + `id` text PRIMARY KEY NOT NULL, + `target` text NOT NULL, + `rule` text NOT NULL, + `entryPoint` text NOT NULL, + `enabled` integer DEFAULT 1 NOT NULL +); +--> statement-breakpoint +CREATE UNIQUE INDEX `proxyTargets_id_unique` ON `proxyTargets` (`id`); \ No newline at end of file diff --git a/server/migrations/meta/0000_snapshot.json b/server/migrations/meta/0000_snapshot.json new file mode 100644 index 00000000..68961190 --- /dev/null +++ b/server/migrations/meta/0000_snapshot.json @@ -0,0 +1,70 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "341a41b7-2cc2-4967-b0cf-ec35f6d0486a", + "prevId": "00000000-0000-0000-0000-000000000000", + "tables": { + "proxyTargets": { + "name": "proxyTargets", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "target": { + "name": "target", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "rule": { + "name": "rule", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "entryPoint": { + "name": "entryPoint", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "enabled": { + "name": "enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 1 + } + }, + "indexes": { + "proxyTargets_id_unique": { + "name": "proxyTargets_id_unique", + "columns": [ + "id" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + } + }, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": {} + } +} \ No newline at end of file diff --git a/server/migrations/meta/_journal.json b/server/migrations/meta/_journal.json new file mode 100644 index 00000000..0d088155 --- /dev/null +++ b/server/migrations/meta/_journal.json @@ -0,0 +1,13 @@ +{ + "version": "7", + "dialect": "sqlite", + "entries": [ + { + "idx": 0, + "version": "6", + "when": 1727489319772, + "tag": "0000_petite_zarda", + "breakpoints": true + } + ] +} \ No newline at end of file