22 lines
955 B
MySQL
22 lines
955 B
MySQL
|
|
CREATE TABLE `auth_sessions` (
|
||
|
|
`token_hash` text PRIMARY KEY NOT NULL,
|
||
|
|
`user_id` text NOT NULL,
|
||
|
|
`expires_at` text NOT NULL,
|
||
|
|
`created_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL
|
||
|
|
);
|
||
|
|
--> statement-breakpoint
|
||
|
|
CREATE INDEX `auth_sessions_user_id_idx` ON `auth_sessions` (`user_id`);--> statement-breakpoint
|
||
|
|
CREATE INDEX `auth_sessions_expires_at_idx` ON `auth_sessions` (`expires_at`);--> statement-breakpoint
|
||
|
|
CREATE TABLE `users` (
|
||
|
|
`id` text PRIMARY KEY NOT NULL,
|
||
|
|
`username` text NOT NULL,
|
||
|
|
`password_hash` text NOT NULL,
|
||
|
|
`password_salt` text NOT NULL,
|
||
|
|
`password_iterations` integer NOT NULL,
|
||
|
|
`role` text NOT NULL,
|
||
|
|
`created_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||
|
|
`updated_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL
|
||
|
|
);
|
||
|
|
--> statement-breakpoint
|
||
|
|
CREATE UNIQUE INDEX `users_username_idx` ON `users` (`username`);--> statement-breakpoint
|
||
|
|
CREATE UNIQUE INDEX `users_single_super_admin_idx` ON `users` (`role`) WHERE "users"."role" = 'super_admin';
|