CREATE TABLE `arc` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `fr_name` text, `start_chapter` integer NOT NULL, `end_chapter` integer, `url` text ); --> statement-breakpoint CREATE TABLE `character` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `fr_name` text, `gender` text, `age` integer, `affiliations` text, `fr_affiliations` text, `devil_fruit_id` text, `haki_observation` integer DEFAULT false, `haki_armament` integer DEFAULT false, `haki_conqueror` integer DEFAULT false, `bounty` integer DEFAULT 0, `height` real, `origin` text, `fr_origin` text, `first_appearance` integer NOT NULL, `picture_url` text, `epithets` text, `fr_epithets` text, `status` text, `arc_id` text, `url` text, `fr_url` text, `is_in_daily_mode` integer DEFAULT false, FOREIGN KEY (`devil_fruit_id`) REFERENCES `devil_fruit`(`id`) ON UPDATE no action ON DELETE no action, FOREIGN KEY (`arc_id`) REFERENCES `arc`(`id`) ON UPDATE no action ON DELETE set null ); --> statement-breakpoint CREATE TABLE `character_history` ( `id` text PRIMARY KEY NOT NULL, `character_id` text, `date` integer NOT NULL, `won` integer DEFAULT 0 NOT NULL, `created_at` integer NOT NULL, `updated_at` integer NOT NULL, FOREIGN KEY (`character_id`) REFERENCES `character`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE UNIQUE INDEX `character_history_date_unique` ON `character_history` (`date`);--> statement-breakpoint CREATE TABLE `character_override` ( `character_id` text PRIMARY KEY NOT NULL, `name` text, `gender` text, `age` integer, `affiliations` text, `fr_affiliations` text, `devil_fruit_id` text, `haki_observation` integer, `haki_armament` integer, `haki_conqueror` integer, `bounty` integer, `height` real, `origin` text, `fr_origin` text, `first_appearance` integer, `picture_url` text, `epithets` text, `fr_epithets` text, `status` text, `arc_id` text, `url` text, `fr_url` text, `notes` text, FOREIGN KEY (`character_id`) REFERENCES `character`(`id`) ON UPDATE no action ON DELETE cascade, FOREIGN KEY (`devil_fruit_id`) REFERENCES `devil_fruit`(`id`) ON UPDATE no action ON DELETE set null, FOREIGN KEY (`arc_id`) REFERENCES `arc`(`id`) ON UPDATE no action ON DELETE set null ); --> statement-breakpoint CREATE TABLE `character_scrape_validation` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `fr_name` text, `gender` text, `age` integer, `affiliations` text, `fr_affiliations` text, `devil_fruit_id` text, `haki_observation` integer DEFAULT false, `haki_armament` integer DEFAULT false, `haki_conqueror` integer DEFAULT false, `bounty` integer, `height` real, `origin` text, `fr_origin` text, `first_appearance` integer NOT NULL, `picture_url` text, `epithets` text, `fr_epithets` text, `status` text, `arc_id` text, `url` text, `fr_url` text, FOREIGN KEY (`devil_fruit_id`) REFERENCES `devil_fruit`(`id`) ON UPDATE no action ON DELETE set null, FOREIGN KEY (`arc_id`) REFERENCES `arc`(`id`) ON UPDATE no action ON DELETE set null ); --> statement-breakpoint CREATE TABLE `config` ( `key` text PRIMARY KEY NOT NULL, `value` text ); --> statement-breakpoint CREATE TABLE `devil_fruit` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `type` text, `url` text ); --> statement-breakpoint CREATE UNIQUE INDEX `devil_fruit_name_unique` ON `devil_fruit` (`name`);--> statement-breakpoint CREATE TABLE `friendship` ( `id` text PRIMARY KEY NOT NULL, `requester_id` text NOT NULL, `addressee_id` text NOT NULL, `status` text DEFAULT 'pending' NOT NULL, `created_at` integer NOT NULL, `updated_at` integer NOT NULL, FOREIGN KEY (`requester_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade, FOREIGN KEY (`addressee_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE UNIQUE INDEX `friendship_requester_id_addressee_id_unique` ON `friendship` (`requester_id`,`addressee_id`);--> statement-breakpoint CREATE TABLE `user_character_history` ( `id` text PRIMARY KEY NOT NULL, `user_id` text, `character_history_id` text, `try_count` integer NOT NULL, `tried_character_ids` text, `created_at` integer NOT NULL, FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade, FOREIGN KEY (`character_history_id`) REFERENCES `character_history`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE UNIQUE INDEX `user_character_history_user_id_character_history_id_unique` ON `user_character_history` (`user_id`,`character_history_id`);--> 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, `username` text NOT NULL, `email` text NOT NULL, `email_verified` integer DEFAULT false NOT NULL, `image` text, `is_admin` integer DEFAULT false 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 UNIQUE INDEX `user_username_unique` ON `user` (`username`);--> 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`);