File
Blob: drizzle/d1/0000_mysterious_roulette.sql
| 1 | CREATE TABLE `invites` ( |
| 2 | `id` text PRIMARY KEY NOT NULL, |
| 3 | `created_by_user_id` text NOT NULL, |
| 4 | `token_hash` blob NOT NULL, |
| 5 | `expires_at` integer NOT NULL, |
| 6 | `accepted_by_user_id` text, |
| 7 | `accepted_at` integer, |
| 8 | `created_at` integer NOT NULL |
| 9 | ); |
| 10 | --> statement-breakpoint |
| 11 | CREATE UNIQUE INDEX `idx_invites_token_hash` ON `invites` (`token_hash`);--> statement-breakpoint |
| 12 | CREATE INDEX `idx_invites_created_by_created_at` ON `invites` (`created_by_user_id`,"created_at" desc);--> statement-breakpoint |
| 13 | CREATE INDEX `idx_invites_expires_at` ON `invites` (`expires_at`);--> statement-breakpoint |
| 14 | CREATE TABLE `password_credentials` ( |
| 15 | `user_id` text PRIMARY KEY NOT NULL, |
| 16 | `algorithm` text NOT NULL, |
| 17 | `digest` text NOT NULL, |
| 18 | `iterations` integer NOT NULL, |
| 19 | `salt` blob NOT NULL, |
| 20 | `password_hash` blob NOT NULL, |
| 21 | `updated_at` integer NOT NULL |
| 22 | ); |
| 23 | --> statement-breakpoint |
| 24 | CREATE TABLE `project_index` ( |
| 25 | `id` text PRIMARY KEY NOT NULL, |
| 26 | `owner_user_id` text NOT NULL, |
| 27 | `owner_slug` text NOT NULL, |
| 28 | `project_slug` text NOT NULL, |
| 29 | `name` text NOT NULL, |
| 30 | `repo_url` text NOT NULL, |
| 31 | `default_branch` text NOT NULL, |
| 32 | `config_path` text NOT NULL, |
| 33 | `created_at` integer NOT NULL, |
| 34 | `updated_at` integer NOT NULL |
| 35 | ); |
| 36 | --> statement-breakpoint |
| 37 | CREATE UNIQUE INDEX `idx_project_index_owner_project_slug` ON `project_index` (`owner_slug`,`project_slug`);--> statement-breakpoint |
| 38 | CREATE INDEX `idx_project_index_owner_user_updated_at` ON `project_index` (`owner_user_id`,"updated_at" desc);--> statement-breakpoint |
| 39 | CREATE INDEX `idx_project_index_updated_at` ON `project_index` ("updated_at" desc);--> statement-breakpoint |
| 40 | CREATE TABLE `run_index` ( |
| 41 | `id` text PRIMARY KEY NOT NULL, |
| 42 | `project_id` text NOT NULL, |
| 43 | `triggered_by_user_id` text, |
| 44 | `trigger_type` text NOT NULL, |
| 45 | `branch` text NOT NULL, |
| 46 | `commit_sha` text, |
| 47 | `status` text NOT NULL, |
| 48 | `dispatch_mode` text NOT NULL, |
| 49 | `execution_runtime` text NOT NULL, |
| 50 | `queued_at` integer NOT NULL, |
| 51 | `started_at` integer, |
| 52 | `finished_at` integer, |
| 53 | `exit_code` integer |
| 54 | ); |
| 55 | --> statement-breakpoint |
| 56 | CREATE INDEX `idx_run_index_project_queued_at` ON `run_index` (`project_id`,"queued_at" desc);--> statement-breakpoint |
| 57 | CREATE INDEX `idx_run_index_project_started_at` ON `run_index` (`project_id`,"started_at" desc);--> statement-breakpoint |
| 58 | CREATE INDEX `idx_run_index_user_queued_at` ON `run_index` (`triggered_by_user_id`,"queued_at" desc);--> statement-breakpoint |
| 59 | CREATE INDEX `idx_run_index_status_queued_at` ON `run_index` (`status`,"queued_at" desc);--> statement-breakpoint |
| 60 | CREATE TABLE `users` ( |
| 61 | `id` text PRIMARY KEY NOT NULL, |
| 62 | `slug` text NOT NULL, |
| 63 | `email` text NOT NULL, |
| 64 | `display_name` text NOT NULL, |
| 65 | `created_at` integer NOT NULL, |
| 66 | `disabled_at` integer |
| 67 | ); |
| 68 | --> statement-breakpoint |
| 69 | CREATE UNIQUE INDEX `idx_users_slug` ON `users` (`slug`);--> statement-breakpoint |
| 70 | CREATE UNIQUE INDEX `idx_users_email` ON `users` (`email`); |