A tiny self-hostable "microjournaling" web app. Helps fill the void when abstaining from social media by encouraging journaling small thoughts throughout the day. # Requirements - web host with PHP
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

create-tables.sql 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. BEGIN TRANSACTION;
  2. PRAGMA foreign_keys = ON;
  3. DROP TABLE IF EXISTS config;
  4. CREATE TABLE config (
  5. name TEXT UNIQUE, -- variable name
  6. value ANY -- variable value
  7. );
  8. CREATE UNIQUE INDEX IF NOT EXISTS idx_config_name ON config (name);
  9. INSERT INTO config (name, value) VALUES ('schema_version', '20230107');
  10. DROP TABLE IF EXISTS users;
  11. CREATE TABLE users (
  12. user_id INTEGER PRIMARY KEY, -- PK
  13. username TEXT UNIQUE COLLATE NOCASE, -- can be username or email
  14. password_hash TEXT, -- output of password_hash()
  15. timezone TEXT DEFAULT 'America/Los_Angeles' -- for date formatting
  16. );
  17. CREATE UNIQUE INDEX IF NOT EXISTS idx_users_username ON users (username COLLATE NOCASE);
  18. DROP TABLE IF EXISTS posts;
  19. CREATE TABLE posts (
  20. body TEXT, -- main text of the post
  21. created INTEGER, -- timestamp when the post was created
  22. author_id INTEGER NOT NULL, -- user_id of author
  23. FOREIGN KEY (author_id) REFERENCES users (user_id)
  24. );
  25. CREATE INDEX IF NOT EXISTS idx_posts_created ON posts (created DESC);
  26. DROP TABLE IF EXISTS sessions;
  27. CREATE TABLE sessions (
  28. token TEXT UNIQUE NOT NULL,
  29. user_id INTEGER NOT NULL,
  30. created INTEGER,
  31. updated INTEGER,
  32. FOREIGN KEY (user_id) REFERENCES users (user_id)
  33. );
  34. CREATE UNIQUE INDEX IF NOT EXISTS idx_sessions_token ON sessions (token);
  35. CREATE INDEX IF NOT EXISTS idx_sessions_user_id ON sessions (user_id);
  36. COMMIT;