From e9a64f3b41b5eae47dec7c0ecfd1caae83136abc Mon Sep 17 00:00:00 2001 From: Alexander NeonXP Kiryukhin Date: Sat, 20 Jul 2024 21:56:37 +0300 Subject: initial --- migrations/1_schema.down.sql | 2 ++ migrations/1_schema.up.sql | 27 +++++++++++++++++++++++++++ migrations/fs.go | 6 ++++++ 3 files changed, 35 insertions(+) create mode 100644 migrations/1_schema.down.sql create mode 100644 migrations/1_schema.up.sql create mode 100644 migrations/fs.go (limited to 'migrations') diff --git a/migrations/1_schema.down.sql b/migrations/1_schema.down.sql new file mode 100644 index 0000000..c0a3f9d --- /dev/null +++ b/migrations/1_schema.down.sql @@ -0,0 +1,2 @@ +DROP TABLE "nodes"; +-- DROP TABLE "users"; diff --git a/migrations/1_schema.up.sql b/migrations/1_schema.up.sql new file mode 100644 index 0000000..2f8bc04 --- /dev/null +++ b/migrations/1_schema.up.sql @@ -0,0 +1,27 @@ +CREATE TABLE IF NOT EXISTS "users" ( + "id" INTEGER, + "email" TEXT NOT NULL, + "password" TEXT NOT NULL, + "username" TEXT NOT NULL, + "photo" TEXT, + "role" INTEGER DEFAULT(0), + PRIMARY KEY ("id" AUTOINCREMENT), + UNIQUE ("email" COLLATE NOCASE), + UNIQUE ("username" COLLATE NOCASE) +); + +CREATE TABLE IF NOT EXISTS "nodes" ( + "id" INTEGER, + "type" INTEGER, + "text" TEXT, + "author_id" INTEGER NOT NULL, + "parent_id" INTEGER, + "created_at" INTEGER NOT NULL, + "updated_at" INTEGER NOT NULL, + "deleted_at" INTEGER, + "permission" INTEGER, + PRIMARY KEY ("id" AUTOINCREMENT), + FOREIGN KEY ("author_id") REFERENCES "users" ("id"), + FOREIGN KEY ("parent_id") REFERENCES "posts" ("id") +); + diff --git a/migrations/fs.go b/migrations/fs.go new file mode 100644 index 0000000..91cca1c --- /dev/null +++ b/migrations/fs.go @@ -0,0 +1,6 @@ +package migrations + +import "embed" + +//go:embed *.sql +var FS embed.FS -- cgit v1.2.3