diff options
author | Alexander NeonXP Kiryukhin <i@neonxp.ru> | 2024-07-20 21:56:37 +0300 |
---|---|---|
committer | Alexander NeonXP Kiryukhin <i@neonxp.ru> | 2024-07-20 21:58:27 +0300 |
commit | e9a64f3b41b5eae47dec7c0ecfd1caae83136abc (patch) | |
tree | c07898520a7015c3f2a201ca0674efea82dd76a5 /migrations | |
parent | 9c0a6b21f8f8d9b725e1fe7f11da4532e04fd9f1 (diff) |
initialv0.0.1
Diffstat (limited to 'migrations')
-rw-r--r-- | migrations/1_schema.down.sql | 2 | ||||
-rw-r--r-- | migrations/1_schema.up.sql | 27 | ||||
-rw-r--r-- | migrations/fs.go | 6 |
3 files changed, 35 insertions, 0 deletions
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 |