53 lines
1.6 KiB
SQL
53 lines
1.6 KiB
SQL
CREATE TABLE `account` (
|
|
`userId` text NOT NULL,
|
|
`type` text NOT NULL,
|
|
`provider` text NOT NULL,
|
|
`providerAccountId` text NOT NULL,
|
|
`refresh_token` text,
|
|
`access_token` text,
|
|
`expires_at` integer,
|
|
`token_type` text,
|
|
`scope` text,
|
|
`id_token` text,
|
|
`session_state` text,
|
|
PRIMARY KEY(`provider`, `providerAccountId`),
|
|
FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `apiKey` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`name` text NOT NULL,
|
|
`createdAt` integer NOT NULL,
|
|
`keyId` text NOT NULL,
|
|
`keyHash` text NOT NULL,
|
|
`userId` text NOT NULL,
|
|
FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `session` (
|
|
`sessionToken` text PRIMARY KEY NOT NULL,
|
|
`userId` text NOT NULL,
|
|
`expires` integer NOT NULL,
|
|
FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `user` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`name` text NOT NULL,
|
|
`email` text NOT NULL,
|
|
`emailVerified` integer,
|
|
`image` text,
|
|
`password` text,
|
|
`role` text DEFAULT 'user'
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE `verificationToken` (
|
|
`identifier` text NOT NULL,
|
|
`token` text NOT NULL,
|
|
`expires` integer NOT NULL,
|
|
PRIMARY KEY(`identifier`, `token`)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `apiKey_keyId_unique` ON `apiKey` (`keyId`);--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `apiKey_name_userId_unique` ON `apiKey` (`name`,`userId`);--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `user_email_unique` ON `user` (`email`); |