00__memo_visibility_protected.sql 1000 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. -- change memo visibility field from "PRIVATE"/"PUBLIC" to "PRIVATE"/"PROTECTED"/"PUBLIC".
  2. PRAGMA foreign_keys = off;
  3. DROP TABLE IF EXISTS _memo_old;
  4. ALTER TABLE
  5. memo RENAME TO _memo_old;
  6. CREATE TABLE memo (
  7. id INTEGER PRIMARY KEY AUTOINCREMENT,
  8. creator_id INTEGER NOT NULL,
  9. created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
  10. updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
  11. row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
  12. content TEXT NOT NULL DEFAULT '',
  13. visibility TEXT NOT NULL CHECK (visibility IN ('PUBLIC', 'PROTECTED', 'PRIVATE')) DEFAULT 'PRIVATE',
  14. FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE
  15. );
  16. INSERT INTO
  17. memo (
  18. id,
  19. creator_id,
  20. created_ts,
  21. updated_ts,
  22. row_status,
  23. content,
  24. visibility
  25. )
  26. SELECT
  27. id,
  28. creator_id,
  29. created_ts,
  30. updated_ts,
  31. row_status,
  32. content,
  33. visibility
  34. FROM
  35. _memo_old;
  36. DROP TABLE IF EXISTS _memo_old;
  37. PRAGMA foreign_keys = on;