-- +goose Up
-- create "document_blocks" table
CREATE TABLE "document_blocks" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "name" character varying NOT NULL, "content" character varying NOT NULL, "order" bigint NOT NULL, "document_id" bigint NOT NULL, "user_id" character varying NOT NULL, "created_at" timestamptz NOT NULL, "updated_at" timestamptz NOT NULL, PRIMARY KEY ("id"));
-- create index "documentblock_name_user_id_order" to table: "document_blocks"
CREATE INDEX "documentblock_name_user_id_order" ON "document_blocks" ("name", "user_id", "order");
-- create "libraries" table
CREATE TABLE "libraries" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "name" character varying NOT NULL, "user_id" character varying NOT NULL, "created_at" timestamptz NOT NULL, "updated_at" timestamptz NOT NULL, PRIMARY KEY ("id"));
-- create index "library_name_user_id" to table: "libraries"
CREATE INDEX "library_name_user_id" ON "libraries" ("name", "user_id");
-- create "documents" table
CREATE TABLE "documents" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "name" character varying NOT NULL, "user_id" character varying NOT NULL, "library_id" bigint NOT NULL, "created_at" timestamptz NOT NULL, "updated_at" timestamptz NOT NULL, "document_block_document" bigint NULL, PRIMARY KEY ("id"), CONSTRAINT "documents_document_blocks_document" FOREIGN KEY ("document_block_document") REFERENCES "document_blocks" ("id") ON DELETE SET NULL);
-- create index "document_name_user_id" to table: "documents"
CREATE INDEX "document_name_user_id" ON "documents" ("name", "user_id");

-- +goose Down
-- reverse: create index "document_name_user_id" to table: "documents"
DROP INDEX "document_name_user_id";
-- reverse: create "documents" table
DROP TABLE "documents";
-- reverse: create index "library_name_user_id" to table: "libraries"
DROP INDEX "library_name_user_id";
-- reverse: create "libraries" table
DROP TABLE "libraries";
-- reverse: create index "documentblock_name_user_id_order" to table: "document_blocks"
DROP INDEX "documentblock_name_user_id_order";
-- reverse: create "document_blocks" table
DROP TABLE "document_blocks";
