Files
Termix/drizzle/postgres/0060_conscious_juggernaut.sql

56 lines
2.6 KiB
SQL

CREATE TABLE "sync_conflicts" (
"id" serial PRIMARY KEY NOT NULL,
"user_id" varchar(255) NOT NULL,
"entity_type" text NOT NULL,
"sync_id" text NOT NULL,
"local_row" text NOT NULL,
"server_revision" integer NOT NULL,
"created_at" text DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--> statement-breakpoint
CREATE TABLE "sync_link" (
"id" serial PRIMARY KEY NOT NULL,
"user_id" varchar(255) NOT NULL,
"server_url" text NOT NULL,
"server_name" text,
"server_version" text,
"session_token" text,
"custom_headers" text,
"basic_auth" text,
"allow_invalid_certificate" boolean DEFAULT false NOT NULL,
"remote_user_id" text,
"remote_username" text,
"account" text,
"scope" text,
"known_types" text,
"cursor" integer DEFAULT 0 NOT NULL,
"status" text DEFAULT 'idle' NOT NULL,
"last_error" text,
"linked_at" text DEFAULT CURRENT_TIMESTAMP NOT NULL,
"last_sync_at" text
);
--> statement-breakpoint
CREATE TABLE "sync_records" (
"id" serial PRIMARY KEY NOT NULL,
"user_id" varchar(255) NOT NULL,
"entity_type" varchar(255) NOT NULL,
"sync_id" varchar(255) NOT NULL,
"revision" integer DEFAULT 0 NOT NULL,
"seq" integer DEFAULT 0 NOT NULL,
"hash" text,
"deleted" boolean DEFAULT false NOT NULL,
"error" text,
"error_hash" text,
"updated_at" text DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--> statement-breakpoint
ALTER TABLE "ssh_data" ADD COLUMN "local_only" boolean DEFAULT false NOT NULL;--> statement-breakpoint
ALTER TABLE "ssh_data" ADD COLUMN "shared_source" text;--> statement-breakpoint
ALTER TABLE "ssh_credentials" ADD COLUMN "shared_source" text;--> statement-breakpoint
ALTER TABLE "ssh_folders" ADD COLUMN "local_only" boolean DEFAULT false NOT NULL;--> statement-breakpoint
ALTER TABLE "sync_conflicts" ADD CONSTRAINT "sync_conflicts_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "sync_link" ADD CONSTRAINT "sync_link_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "sync_records" ADD CONSTRAINT "sync_records_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
CREATE INDEX "idx_sync_conflicts_user" ON "sync_conflicts" USING btree ("user_id");--> statement-breakpoint
CREATE UNIQUE INDEX "idx_sync_records_user_entity_sync" ON "sync_records" USING btree ("user_id","entity_type","sync_id");--> statement-breakpoint
CREATE INDEX "idx_sync_records_user_seq" ON "sync_records" USING btree ("user_id","seq");