diff --git a/drizzle/0004_loose_wasp.sql b/drizzle/0004_loose_wasp.sql new file mode 100644 index 0000000..9f02014 --- /dev/null +++ b/drizzle/0004_loose_wasp.sql @@ -0,0 +1 @@ +DROP TABLE "_prisma_migrations" CASCADE; \ No newline at end of file diff --git a/drizzle/meta/0004_snapshot.json b/drizzle/meta/0004_snapshot.json new file mode 100644 index 0000000..7114ea1 --- /dev/null +++ b/drizzle/meta/0004_snapshot.json @@ -0,0 +1,1030 @@ +{ + "id": "208ef963-3300-46da-a01b-6ad877c2d26f", + "prevId": "d9bd3fc4-43eb-4d36-bbf6-14e5d2fbe768", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.discord_account_domain_events": { + "name": "discord_account_domain_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true + }, + "discord_id": { + "name": "discord_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "member_id": { + "name": "member_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "event_name": { + "name": "event_name", + "type": "discord_account_event_name", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "occurred_at": { + "name": "occurred_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "discord_account_domain_events_discord_id_idx": { + "name": "discord_account_domain_events_discord_id_idx", + "columns": [ + { + "expression": "discord_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "discord_account_domain_events_member_id_idx": { + "name": "discord_account_domain_events_member_id_idx", + "columns": [ + { + "expression": "member_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "discord_account_domain_events_occurred_at_idx": { + "name": "discord_account_domain_events_occurred_at_idx", + "columns": [ + { + "expression": "occurred_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.discord_accounts": { + "name": "discord_accounts", + "schema": "", + "columns": { + "discord_id": { + "name": "discord_id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "nick_name": { + "name": "nick_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "member_id": { + "name": "member_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "default": "CURRENT_TIMESTAMP" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "discord_accounts_member_id_fkey": { + "name": "discord_accounts_member_id_fkey", + "tableFrom": "discord_accounts", + "tableTo": "members", + "columnsFrom": [ + "member_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "restrict", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.events": { + "name": "events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "date": { + "name": "date", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "default": "CURRENT_TIMESTAMP" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.exhibits": { + "name": "exhibits", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "event_id": { + "name": "event_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "default": "CURRENT_TIMESTAMP" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + }, + "markdown_content": { + "name": "markdown_content", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "exhibits_event_id_fkey": { + "name": "exhibits_event_id_fkey", + "tableFrom": "exhibits", + "tableTo": "events", + "columnsFrom": [ + "event_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "restrict", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.karte_assignees": { + "name": "karte_assignees", + "schema": "", + "columns": { + "karte_id": { + "name": "karte_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "assignee_type": { + "name": "assignee_type", + "type": "assignee_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "member_id": { + "name": "member_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "assignee_name": { + "name": "assignee_name", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "karte_assignees_karte_id_fkey": { + "name": "karte_assignees_karte_id_fkey", + "tableFrom": "karte_assignees", + "tableTo": "kartes", + "columnsFrom": [ + "karte_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "cascade" + }, + "karte_assignees_member_id_fkey": { + "name": "karte_assignees_member_id_fkey", + "tableFrom": "karte_assignees", + "tableTo": "members", + "columnsFrom": [ + "member_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "restrict", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.kartes": { + "name": "kartes", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "recorded_at": { + "name": "recorded_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "consulted_at": { + "name": "consulted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "consulted_at_precision": { + "name": "consulted_at_precision", + "type": "consulted_at_precision", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "last_updated_at": { + "name": "last_updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "client_type": { + "name": "client_type", + "type": "client_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "client_name": { + "name": "client_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "client_student_id": { + "name": "client_student_id", + "type": "char(8)", + "primaryKey": false, + "notNull": false + }, + "client_affiliation": { + "name": "client_affiliation", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "liability_consent": { + "name": "liability_consent", + "type": "boolean", + "primaryKey": false, + "notNull": true + }, + "disclosure_consent": { + "name": "disclosure_consent", + "type": "boolean", + "primaryKey": false, + "notNull": true + }, + "category_ids": { + "name": "category_ids", + "type": "consultation_category[]", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "trouble_details": { + "name": "trouble_details", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "target_device": { + "name": "target_device", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "support_content": { + "name": "support_content", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "resolution_type": { + "name": "resolution_type", + "type": "resolution_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "follow_up": { + "name": "follow_up", + "type": "follow_up", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "work_duration_minutes": { + "name": "work_duration_minutes", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.lightning_talks": { + "name": "lightning_talks", + "schema": "", + "columns": { + "exhibit_id": { + "name": "exhibit_id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "start_time": { + "name": "start_time", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + }, + "duration": { + "name": "duration", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "slide_url": { + "name": "slide_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "default": "CURRENT_TIMESTAMP" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "lightning_talks_exhibit_id_fkey": { + "name": "lightning_talks_exhibit_id_fkey", + "tableFrom": "lightning_talks", + "tableTo": "exhibits", + "columnsFrom": [ + "exhibit_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "restrict", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.member_domain_events": { + "name": "member_domain_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true + }, + "member_id": { + "name": "member_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "event_name": { + "name": "event_name", + "type": "member_event_name", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "occurred_at": { + "name": "occurred_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "member_domain_events_member_id_idx": { + "name": "member_domain_events_member_id_idx", + "columns": [ + { + "expression": "member_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "member_domain_events_event_name_idx": { + "name": "member_domain_events_event_name_idx", + "columns": [ + { + "expression": "event_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "member_domain_events_occurred_at_idx": { + "name": "member_domain_events_occurred_at_idx", + "columns": [ + { + "expression": "occurred_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.member_events": { + "name": "member_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "member_id": { + "name": "member_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "event_id": { + "name": "event_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "default": "CURRENT_TIMESTAMP" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "member_events_member_id_event_id_key": { + "name": "member_events_member_id_event_id_key", + "columns": [ + { + "expression": "member_id", + "isExpression": false, + "asc": true, + "nulls": "last", + "opclass": "text_ops" + }, + { + "expression": "event_id", + "isExpression": false, + "asc": true, + "nulls": "last", + "opclass": "text_ops" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "member_events_event_id_fkey": { + "name": "member_events_event_id_fkey", + "tableFrom": "member_events", + "tableTo": "events", + "columnsFrom": [ + "event_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "restrict", + "onUpdate": "cascade" + }, + "member_events_member_id_fkey": { + "name": "member_events_member_id_fkey", + "tableFrom": "member_events", + "tableTo": "members", + "columnsFrom": [ + "member_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "restrict", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.member_exhibits": { + "name": "member_exhibits", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "member_id": { + "name": "member_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "exhibit_id": { + "name": "exhibit_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true, + "default": "CURRENT_TIMESTAMP" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp(3)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "member_exhibits_member_id_exhibit_id_key": { + "name": "member_exhibits_member_id_exhibit_id_key", + "columns": [ + { + "expression": "member_id", + "isExpression": false, + "asc": true, + "nulls": "last", + "opclass": "text_ops" + }, + { + "expression": "exhibit_id", + "isExpression": false, + "asc": true, + "nulls": "last", + "opclass": "text_ops" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "member_exhibits_exhibit_id_fkey": { + "name": "member_exhibits_exhibit_id_fkey", + "tableFrom": "member_exhibits", + "tableTo": "exhibits", + "columnsFrom": [ + "exhibit_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "restrict", + "onUpdate": "cascade" + }, + "member_exhibits_member_id_fkey": { + "name": "member_exhibits_member_id_fkey", + "tableFrom": "member_exhibits", + "tableTo": "members", + "columnsFrom": [ + "member_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "restrict", + "onUpdate": "cascade" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.members": { + "name": "members", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "student_id": { + "name": "student_id", + "type": "varchar(8)", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "personal_email": { + "name": "personal_email", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "member_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "affiliation": { + "name": "affiliation", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "CURRENT_TIMESTAMP" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "members_email_key": { + "name": "members_email_key", + "columns": [ + { + "expression": "email", + "isExpression": false, + "asc": true, + "nulls": "last", + "opclass": "text_ops" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.assignee_type": { + "name": "assignee_type", + "schema": "public", + "values": [ + "resolved", + "unresolved" + ] + }, + "public.client_type": { + "name": "client_type", + "schema": "public", + "values": [ + "student", + "teacher", + "staff", + "other" + ] + }, + "public.consultation_category": { + "name": "consultation_category", + "schema": "public", + "values": [ + "wifi_eduroam", + "wifi_success", + "wifi_smartphone", + "usage_mac", + "usage_fs", + "usage_vpn", + "usage_mail", + "usage_gakujo", + "usage_onedrive", + "usage_printer", + "usage_vm", + "usage_ms_software", + "hardware_pc", + "problem_credential", + "problem_windows", + "problem_linux", + "programming", + "rent", + "other" + ] + }, + "public.consulted_at_precision": { + "name": "consulted_at_precision", + "schema": "public", + "values": [ + "year", + "yearMonth", + "date", + "datetime" + ] + }, + "public.discord_account_event_name": { + "name": "discord_account_event_name", + "schema": "public", + "values": [ + "DiscordAccountLinked", + "NickNameChanged" + ] + }, + "public.follow_up": { + "name": "follow_up", + "schema": "public", + "values": [ + "技術部", + "生協", + "情報基盤センター", + "見送り", + "その他" + ] + }, + "public.member_event_name": { + "name": "member_event_name", + "schema": "public", + "values": [ + "MemberRegistered", + "MemberRemoved", + "MemberReregistered", + "MemberUnconfirmed", + "MemberConfirmed", + "InternallyAdvanced", + "FacultyTransferred", + "DepartmentTransferred", + "MajorTransferred", + "StudentIdChanged", + "NameChanged", + "PersonalEmailChanged" + ] + }, + "public.member_status": { + "name": "member_status", + "schema": "public", + "values": [ + "active", + "unconfirmed", + "former" + ] + }, + "public.resolution_type": { + "name": "resolution_type", + "schema": "public", + "values": [ + "resolved", + "unresolved" + ] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json index 8059770..40d4bbb 100644 --- a/drizzle/meta/_journal.json +++ b/drizzle/meta/_journal.json @@ -29,6 +29,13 @@ "when": 1774342843197, "tag": "0003_secret_marvel_apes", "breakpoints": true + }, + { + "idx": 4, + "version": "7", + "when": 1775273101122, + "tag": "0004_loose_wasp", + "breakpoints": true } ] } \ No newline at end of file diff --git a/src/infrastructure/drizzle/schema.ts b/src/infrastructure/drizzle/schema.ts index c525fce..31ec903 100644 --- a/src/infrastructure/drizzle/schema.ts +++ b/src/infrastructure/drizzle/schema.ts @@ -275,20 +275,6 @@ export const memberExhibits = pgTable( ], ); -export const prismaMigrations = pgTable("_prisma_migrations", { - id: varchar({ length: 36 }).primaryKey().notNull(), - checksum: varchar({ length: 64 }).notNull(), - finishedAt: timestamp("finished_at", { withTimezone: true, mode: "string" }), - migrationName: varchar("migration_name", { length: 255 }).notNull(), - logs: text(), - rolledBackAt: timestamp("rolled_back_at", { - withTimezone: true, - mode: "string", - }), - startedAt: timestamp("started_at", { withTimezone: true, mode: "string" }).defaultNow().notNull(), - appliedStepsCount: integer("applied_steps_count").default(0).notNull(), -}); - // ============================================================================ // Karte Tables // ============================================================================