CREATE TABLE `address_changes` ( `seq` integer PRIMARY KEY AUTOINCREMENT NOT NULL, `addressbook_id` text, `href` text NOT NULL, `change_type` text NOT NULL, `changed_at_ms` integer NOT NULL, FOREIGN KEY (`addressbook_id`) REFERENCES `addressbooks`(`id`) ON UPDATE no action ON DELETE cascade, CONSTRAINT "address_changes_type_check" CHECK("address_changes"."change_type" in ('created', 'updated', 'deleted')) ); --> statement-breakpoint CREATE INDEX `address_changes_book_seq_idx` ON `address_changes` (`addressbook_id`,`seq`);--> statement-breakpoint CREATE INDEX `address_changes_changed_idx` ON `address_changes` (`changed_at_ms`);--> statement-breakpoint CREATE INDEX `address_changes_href_idx` ON `address_changes` (`href`);--> statement-breakpoint CREATE TABLE `address_dead_props` ( `resource_kind` text NOT NULL, `resource_id` text NOT NULL, `ns_uri` text NOT NULL, `local_name` text NOT NULL, `xml_value` text NOT NULL, PRIMARY KEY(`resource_kind`, `resource_id`, `ns_uri`, `local_name`), CONSTRAINT "address_dead_props_kind_check" CHECK("address_dead_props"."resource_kind" in ('home', 'addressbook', 'object')) ); --> statement-breakpoint CREATE TABLE `address_index` ( `object_id` text PRIMARY KEY NOT NULL, `addressbook_id` text NOT NULL, `uid` text NOT NULL, `fn` text, `n_family` text, `n_given` text, `org` text, `emails_json` text NOT NULL, `tels_json` text NOT NULL, FOREIGN KEY (`object_id`) REFERENCES `address_objects`(`id`) ON UPDATE no action ON DELETE cascade, FOREIGN KEY (`addressbook_id`) REFERENCES `addressbooks`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE INDEX `address_index_uid_idx` ON `address_index` (`addressbook_id`,`uid`);--> statement-breakpoint CREATE INDEX `address_index_fn_idx` ON `address_index` (`addressbook_id`,`fn`);--> statement-breakpoint CREATE INDEX `address_index_family_idx` ON `address_index` (`addressbook_id`,`n_family`);--> statement-breakpoint CREATE INDEX `address_index_given_idx` ON `address_index` (`addressbook_id`,`n_given`);--> statement-breakpoint CREATE INDEX `address_index_org_idx` ON `address_index` (`addressbook_id`,`org`);--> statement-breakpoint CREATE TABLE `address_objects` ( `id` text PRIMARY KEY NOT NULL, `addressbook_id` text NOT NULL, `name` text NOT NULL, `uid` text NOT NULL, `body` text NOT NULL, `etag` text NOT NULL, `size` integer NOT NULL, `created_at_ms` integer NOT NULL, `modified_at_ms` integer NOT NULL, `version` integer DEFAULT 1 NOT NULL, FOREIGN KEY (`addressbook_id`) REFERENCES `addressbooks`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint CREATE UNIQUE INDEX `address_objects_book_name_unique` ON `address_objects` (`addressbook_id`,`name`);--> statement-breakpoint CREATE UNIQUE INDEX `address_objects_book_uid_unique` ON `address_objects` (`addressbook_id`,`uid`);--> statement-breakpoint CREATE INDEX `address_objects_book_modified_idx` ON `address_objects` (`addressbook_id`,`modified_at_ms`);--> statement-breakpoint CREATE TABLE `addressbooks` ( `id` text PRIMARY KEY NOT NULL, `name` text NOT NULL, `display_name` text NOT NULL, `description` text, `created_at_ms` integer NOT NULL, `modified_at_ms` integer NOT NULL, `sync_seq` integer DEFAULT 0 NOT NULL ); --> statement-breakpoint CREATE UNIQUE INDEX `addressbooks_name_unique` ON `addressbooks` (`name`);--> statement-breakpoint CREATE INDEX `addressbooks_modified_idx` ON `addressbooks` (`modified_at_ms`);