CREATE TABLE `arc` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `startChapter` integer NOT NULL, `endChapter` integer, `url` text ); --> statement-breakpoint CREATE TABLE `character` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `gender` text, `age` integer, `affiliations` text, `devilFruitId` text, `hakiObservation` integer DEFAULT false, `hakiArmament` integer DEFAULT false, `hakiConqueror` integer DEFAULT false, `bounty` integer DEFAULT 0, `height` real, `origin` text, `firstAppearance` integer NOT NULL, `pictureUrl` text, `epithets` text, `status` text, `arcId` text, `url` text, `isInDailyMode` integer DEFAULT true, FOREIGN KEY (`devilFruitId`) REFERENCES `devilFruit`(`id`) ON UPDATE no action ON DELETE no action, FOREIGN KEY (`arcId`) REFERENCES `arc`(`id`) ON UPDATE no action ON DELETE no action ); --> statement-breakpoint CREATE TABLE `characterHistory` ( `id` text PRIMARY KEY NOT NULL, `characterId` text, `date` text, `won` integer DEFAULT 0 NOT NULL, `createdAt` integer NOT NULL, `updatedAt` integer NOT NULL, FOREIGN KEY (`characterId`) REFERENCES `character`(`id`) ON UPDATE no action ON DELETE no action ); --> statement-breakpoint CREATE TABLE `characterOverride` ( `characterId` text PRIMARY KEY NOT NULL, `name` text, `gender` text, `age` integer, `affiliations` text, `devilFruitId` text, `hakiObservation` integer, `hakiArmament` integer, `hakiConqueror` integer, `bounty` integer, `height` real, `origin` text, `firstAppearance` integer NOT NULL, `pictureUrl` text, `epithets` text, `status` text, `arcId` text, `url` text, `notes` text, FOREIGN KEY (`characterId`) REFERENCES `character`(`id`) ON UPDATE no action ON DELETE no action, FOREIGN KEY (`devilFruitId`) REFERENCES `devilFruit`(`id`) ON UPDATE no action ON DELETE no action, FOREIGN KEY (`arcId`) REFERENCES `arc`(`id`) ON UPDATE no action ON DELETE no action ); --> statement-breakpoint CREATE TABLE `characterScrapeValidation` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `gender` text, `age` integer, `affiliations` text, `devilFruitId` text, `hakiObservation` integer DEFAULT false, `hakiArmament` integer DEFAULT false, `hakiConqueror` integer DEFAULT false, `bounty` integer, `height` real, `origin` text, `firstAppearance` integer NOT NULL, `pictureUrl` text, `epithets` text, `status` text, `arcId` text, `url` text, FOREIGN KEY (`devilFruitId`) REFERENCES `devilFruit`(`id`) ON UPDATE no action ON DELETE no action, FOREIGN KEY (`arcId`) REFERENCES `arc`(`id`) ON UPDATE no action ON DELETE no action ); --> statement-breakpoint CREATE TABLE `config` ( `key` text PRIMARY KEY NOT NULL, `value` text ); --> statement-breakpoint CREATE TABLE `devilFruit` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `type` text, `url` text ); --> statement-breakpoint CREATE UNIQUE INDEX `devilFruit_name_unique` ON `devilFruit` (`name`);--> statement-breakpoint CREATE TABLE `account` ( `id` text PRIMARY KEY NOT NULL, `account_id` text NOT NULL, `provider_id` text NOT NULL, `user_id` text NOT NULL, `access_token` text, `refresh_token` text, `id_token` text, `access_token_expires_at` integer, `refresh_token_expires_at` integer, `scope` text, `password` text, `created_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL, `updated_at` integer NOT NULL, FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE INDEX `account_userId_idx` ON `account` (`user_id`);--> statement-breakpoint CREATE TABLE `session` ( `id` text PRIMARY KEY NOT NULL, `expires_at` integer NOT NULL, `token` text NOT NULL, `created_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL, `updated_at` integer NOT NULL, `ip_address` text, `user_agent` text, `user_id` text NOT NULL, FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE UNIQUE INDEX `session_token_unique` ON `session` (`token`);--> statement-breakpoint CREATE INDEX `session_userId_idx` ON `session` (`user_id`);--> statement-breakpoint CREATE TABLE `user` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `email` text NOT NULL, `email_verified` integer DEFAULT false NOT NULL, `image` text, `created_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL, `updated_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL ); --> statement-breakpoint CREATE UNIQUE INDEX `user_email_unique` ON `user` (`email`);--> statement-breakpoint CREATE TABLE `verification` ( `id` text PRIMARY KEY NOT NULL, `identifier` text NOT NULL, `value` text NOT NULL, `expires_at` integer NOT NULL, `created_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL, `updated_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL ); --> statement-breakpoint CREATE INDEX `verification_identifier_idx` ON `verification` (`identifier`);