aboutsummaryrefslogtreecommitdiff
path: root/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'migrations')
-rw-r--r--migrations/1_schema.down.sql2
-rw-r--r--migrations/1_schema.up.sql27
-rw-r--r--migrations/fs.go6
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