Add persistent user and session storage, protected profile requests, and React sign-in controls. Capture and preserve each user's timezone, and load development and production configuration before migrations and server startup.
22 lines
811 B
SQL
22 lines
811 B
SQL
CREATE TABLE `sessions` (
|
|
`token_hash` text PRIMARY KEY NOT NULL,
|
|
`user_id` text NOT NULL,
|
|
`created_at` integer NOT NULL,
|
|
`expires_at` integer NOT NULL,
|
|
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE INDEX `sessions_user_id_idx` ON `sessions` (`user_id`);--> statement-breakpoint
|
|
CREATE INDEX `sessions_expires_at_idx` ON `sessions` (`expires_at`);--> statement-breakpoint
|
|
CREATE TABLE `users` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`discord_id` text NOT NULL,
|
|
`username` text NOT NULL,
|
|
`global_name` text,
|
|
`avatar_hash` text,
|
|
`timezone` text DEFAULT 'UTC' NOT NULL,
|
|
`created_at` integer NOT NULL,
|
|
`updated_at` integer NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `users_discord_id_unique` ON `users` (`discord_id`); |