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 `category` ( `id` text PRIMARY KEY NOT NULL, `createdAt` integer NOT NULL, `name` text NOT NULL, `code` real NOT NULL, `description` text, `colorId` text NOT NULL, `parentId` text, `userId` text NOT NULL, FOREIGN KEY (`colorId`) REFERENCES `color`(`id`) ON UPDATE no action ON DELETE no action, FOREIGN KEY (`parentId`) REFERENCES `category`(`id`) ON UPDATE no action ON DELETE no action, FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE TABLE `color` ( `id` text PRIMARY KEY NOT NULL, `createdAt` integer NOT NULL, `name` text NOT NULL, `hexcode` text NOT NULL, `inverse` text, `userId` text NOT NULL, FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE TABLE `config` ( `key` text PRIMARY KEY NOT NULL, `value` text NOT NULL ); --> statement-breakpoint CREATE TABLE `day` ( `id` text PRIMARY KEY NOT NULL, `date` text NOT NULL, `mood` integer, `comment` text, `userId` text NOT NULL, FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE TABLE `hour` ( `id` text PRIMARY KEY NOT NULL, `createdAt` integer NOT NULL, `userId` text NOT NULL, `comment` text, `time` integer, `dayId` text NOT NULL, `categoryId` text, FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade, FOREIGN KEY (`dayId`) REFERENCES `day`(`id`) ON UPDATE no action ON DELETE no action, FOREIGN KEY (`categoryId`) REFERENCES `category`(`id`) ON UPDATE no action ON DELETE no action ); --> 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 `category_userId_code_unique` ON `category` (`userId`,`code`);--> statement-breakpoint CREATE UNIQUE INDEX `color_userId_name_unique` ON `color` (`userId`,`name`);--> statement-breakpoint CREATE UNIQUE INDEX `day_date_unique` ON `day` (`date`);--> statement-breakpoint CREATE UNIQUE INDEX `hour_time_unique` ON `hour` (`time`);--> statement-breakpoint CREATE UNIQUE INDEX `hour_dayId_time_unique` ON `hour` (`dayId`,`time`);--> statement-breakpoint CREATE UNIQUE INDEX `user_email_unique` ON `user` (`email`);