flask app for plurals to publicly share member lists

schema.sql 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. DROP TABLE IF EXISTS user;
  2. DROP TABLE IF EXISTS member;
  3. DROP TABLE IF EXISTS icons;
  4. DROP TABLE IF EXISTS groups;
  5. DROP TABLE IF EXISTS group_members;
  6. DROP TABLE IF EXISTS blog;
  7. DROP TABLE IF EXISTS blinkies;
  8. DROP TABLE IF EXISTS stamps;
  9. CREATE TABLE user (
  10. id INTEGER PRIMARY KEY AUTOINCREMENT,
  11. username TEXT UNIQUE NOT NULL,
  12. password TEXT NOT NULL
  13. );
  14. CREATE TABLE member (
  15. id INTEGER PRIMARY KEY AUTOINCREMENT,
  16. user_id INTEGER NOT NULL,
  17. created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  18. member_name TEXT NOT NULL,
  19. subtitle TEXT DEFAULT "",
  20. bio TEXT,
  21. main_icon INTEGER,
  22. homepage BOOLEAN NOT NULL DEFAULT 0,
  23. front BOOLEAN NOT NULL DEFAULT 0,
  24. public BOOLEAN NOT NULL DEFAULT 1,
  25. theme TEXT NOT NULL DEFAULT 'default',
  26. FOREIGN KEY (user_id) REFERENCES user (id),
  27. FOREIGN KEY (main_icon) REFERENCES icons (id)
  28. );
  29. CREATE TABLE icons (
  30. id INTEGER PRIMARY KEY AUTOINCREMENT,
  31. member_id INTEGER NOT NULL,
  32. icon_location TEXT NOT NULL,
  33. FOREIGN KEY (member_id) REFERENCES member (id)
  34. );
  35. CREATE TABLE groups (
  36. id INTEGER PRIMARY KEY AUTOINCREMENT,
  37. group_name TEXT NOT NULL,
  38. group_description TEXT,
  39. public BOOLEAN NOT NULL DEFAULT 1
  40. );
  41. CREATE TABLE group_members (
  42. id INTEGER PRIMARY KEY AUTOINCREMENT,
  43. group_id INTEGER NOT NULL,
  44. member_id INTEGER NOT NULL,
  45. FOREIGN KEY (group_id) REFERENCES groups (id),
  46. FOREIGN KEY (member_id) REFERENCES member (id)
  47. );
  48. CREATE TABLE blog (
  49. id INTEGER PRIMARY KEY AUTOINCREMENT,
  50. member_id INTEGER NOT NULL,
  51. created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  52. title TEXT,
  53. content TEXT,
  54. public BOOLEAN NOT NULL DEFAULT 1,
  55. FOREIGN KEY (member_id) REFERENCES member (id)
  56. );
  57. CREATE TABLE blinkies (
  58. id INTEGER PRIMARY KEY AUTOINCREMENT,
  59. member_id INTEGER NOT NULL,
  60. blinkie_location TEXT NOT NULL,
  61. FOREIGN KEY (member_id) REFERENCES member (id)
  62. );
  63. CREATE TABLE stamps (
  64. id INTEGER PRIMARY KEY AUTOINCREMENT,
  65. member_id INTEGER NOT NULL,
  66. stamp_location TEXT NOT NULL,
  67. FOREIGN KEY (member_id) REFERENCES member (id)
  68. );