aboutsummaryrefslogtreecommitdiffstats
path: root/docker/mariadb
diff options
context:
space:
mode:
Diffstat (limited to 'docker/mariadb')
-rw-r--r--docker/mariadb/init.sql39
1 files changed, 39 insertions, 0 deletions
diff --git a/docker/mariadb/init.sql b/docker/mariadb/init.sql
new file mode 100644
index 0000000..2cc0d6f
--- /dev/null
+++ b/docker/mariadb/init.sql
@@ -0,0 +1,39 @@
+CREATE TABLE IF NOT EXISTS users (
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ username VARCHAR(50) UNIQUE NOT NULL,
+ email VARCHAR(255) UNIQUE NOT NULL,
+ password_hash VARCHAR(255) NOT NULL,
+ is_verified BOOLEAN DEFAULT FALSE,
+ verification_token VARCHAR(64),
+ reset_token VARCHAR(64),
+ reset_token_expires DATETIME,
+ notify_comments BOOLEAN DEFAULT TRUE,
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
+);
+
+CREATE TABLE IF NOT EXISTS posts (
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ user_id INT NOT NULL,
+ image_path VARCHAR(255) NOT NULL,
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
+);
+
+CREATE TABLE IF NOT EXISTS likes (
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ user_id INT NOT NULL,
+ post_id INT NOT NULL,
+ UNIQUE KEY unique_like (user_id, post_id),
+ FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
+ FOREIGN KEY (post_id) REFERENCES posts(id) ON DELETE CASCADE
+);
+
+CREATE TABLE IF NOT EXISTS comments (
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ user_id INT NOT NULL,
+ post_id INT NOT NULL,
+ content TEXT NOT NULL,
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
+ FOREIGN KEY (post_id) REFERENCES posts(id) ON DELETE CASCADE
+);