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
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. updated INTEGER, -- timestamp when the post was last edited
  23. author_id INTEGER NOT NULL, -- user_id of author
  24. FOREIGN KEY (author_id) REFERENCES users (user_id)
  25. );
  26. CREATE INDEX IF NOT EXISTS idx_posts_created ON posts (created DESC);
  27. DROP TABLE IF EXISTS sessions;
  28. CREATE TABLE sessions (
  29. token TEXT UNIQUE NOT NULL, -- random hex string
  30. user_id INTEGER NOT NULL, -- owner of the token
  31. created INTEGER, -- timestamp when the session was created
  32. updated INTEGER, -- timestamp when the session was last used
  33. FOREIGN KEY (user_id) REFERENCES users (user_id)
  34. );
  35. CREATE UNIQUE INDEX IF NOT EXISTS idx_sessions_token ON sessions (token);
  36. CREATE INDEX IF NOT EXISTS idx_sessions_user_id ON sessions (user_id);
  37. COMMIT;