diff options
Diffstat (limited to 'apps/web/migrations/000_setup.sql')
| -rw-r--r-- | apps/web/migrations/000_setup.sql | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/apps/web/migrations/000_setup.sql b/apps/web/migrations/000_setup.sql new file mode 100644 index 00000000..db7f9444 --- /dev/null +++ b/apps/web/migrations/000_setup.sql @@ -0,0 +1,80 @@ +CREATE TABLE `account` ( + `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL, + `userId` text(255) NOT NULL, + `type` text(255) NOT NULL, + `provider` text(255) NOT NULL, + `providerAccountId` text(255) NOT NULL, + `refresh_token` text, + `access_token` text, + `expires_at` integer, + `token_type` text(255), + `scope` text(255), + `id_token` text, + `session_state` text(255), + `oauth_token_secret` text, + `oauth_token` text, + FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `contentToSpace` ( + `contentId` integer NOT NULL, + `spaceId` integer NOT NULL, + PRIMARY KEY(`contentId`, `spaceId`), + FOREIGN KEY (`contentId`) REFERENCES `storedContent`(`id`) ON UPDATE no action ON DELETE cascade, + FOREIGN KEY (`spaceId`) REFERENCES `space`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `session` ( + `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL, + `sessionToken` text(255) NOT NULL, + `userId` text(255) NOT NULL, + `expires` integer NOT NULL, + FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `space` ( + `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL, + `name` text DEFAULT 'none' NOT NULL, + `user` text(255), + FOREIGN KEY (`user`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `storedContent` ( + `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL, + `content` text NOT NULL, + `title` text(255), + `description` text(255), + `url` text NOT NULL, + `savedAt` integer NOT NULL, + `baseUrl` text(255), + `ogImage` text(255), + `type` text DEFAULT 'page', + `image` text(255), + `user` text(255), + FOREIGN KEY (`user`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade +); +--> statement-breakpoint +CREATE TABLE `user` ( + `id` text(255) PRIMARY KEY NOT NULL, + `name` text(255), + `email` text(255) NOT NULL, + `emailVerified` integer DEFAULT CURRENT_TIMESTAMP, + `image` text(255) +); +--> statement-breakpoint +CREATE TABLE `verificationToken` ( + `identifier` text(255) NOT NULL, + `token` text(255) NOT NULL, + `expires` integer NOT NULL, + PRIMARY KEY(`identifier`, `token`) +); +--> statement-breakpoint +CREATE INDEX `account_userId_idx` ON `account` (`userId`);--> statement-breakpoint +CREATE INDEX `session_userId_idx` ON `session` (`userId`);--> statement-breakpoint +CREATE UNIQUE INDEX `space_name_unique` ON `space` (`name`);--> statement-breakpoint +CREATE INDEX `spaces_name_idx` ON `space` (`name`);--> statement-breakpoint +CREATE INDEX `spaces_user_idx` ON `space` (`user`);--> statement-breakpoint +CREATE INDEX `storedContent_url_idx` ON `storedContent` (`url`);--> statement-breakpoint +CREATE INDEX `storedContent_savedAt_idx` ON `storedContent` (`savedAt`);--> statement-breakpoint +CREATE INDEX `storedContent_title_idx` ON `storedContent` (`title`);--> statement-breakpoint +CREATE INDEX `storedContent_user_idx` ON `storedContent` (`user`);
\ No newline at end of file |