Skip to content
File

Blob: drizzle/d1/0000_mysterious_roulette.sql

sql70 lines
1CREATE 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
11CREATE UNIQUE INDEX `idx_invites_token_hash` ON `invites` (`token_hash`);--> statement-breakpoint
12CREATE INDEX `idx_invites_created_by_created_at` ON `invites` (`created_by_user_id`,"created_at" desc);--> statement-breakpoint
13CREATE INDEX `idx_invites_expires_at` ON `invites` (`expires_at`);--> statement-breakpoint
14CREATE 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
24CREATE 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
37CREATE UNIQUE INDEX `idx_project_index_owner_project_slug` ON `project_index` (`owner_slug`,`project_slug`);--> statement-breakpoint
38CREATE INDEX `idx_project_index_owner_user_updated_at` ON `project_index` (`owner_user_id`,"updated_at" desc);--> statement-breakpoint
39CREATE INDEX `idx_project_index_updated_at` ON `project_index` ("updated_at" desc);--> statement-breakpoint
40CREATE 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
56CREATE INDEX `idx_run_index_project_queued_at` ON `run_index` (`project_id`,"queued_at" desc);--> statement-breakpoint
57CREATE INDEX `idx_run_index_project_started_at` ON `run_index` (`project_id`,"started_at" desc);--> statement-breakpoint
58CREATE INDEX `idx_run_index_user_queued_at` ON `run_index` (`triggered_by_user_id`,"queued_at" desc);--> statement-breakpoint
59CREATE INDEX `idx_run_index_status_queued_at` ON `run_index` (`status`,"queued_at" desc);--> statement-breakpoint
60CREATE 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
69CREATE UNIQUE INDEX `idx_users_slug` ON `users` (`slug`);--> statement-breakpoint
70CREATE UNIQUE INDEX `idx_users_email` ON `users` (`email`);