LATEST.sql 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. -- migration_history
  2. CREATE TABLE `migration_history` (
  3. `version` VARCHAR(256) NOT NULL PRIMARY KEY,
  4. `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
  5. );
  6. -- system_setting
  7. CREATE TABLE `system_setting` (
  8. `name` VARCHAR(256) NOT NULL PRIMARY KEY,
  9. `value` LONGTEXT NOT NULL,
  10. `description` TEXT NOT NULL
  11. );
  12. -- user
  13. CREATE TABLE `user` (
  14. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  15. `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  16. `updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  17. `row_status` VARCHAR(256) NOT NULL DEFAULT 'NORMAL',
  18. `username` VARCHAR(256) NOT NULL UNIQUE,
  19. `role` VARCHAR(256) NOT NULL DEFAULT 'USER',
  20. `email` VARCHAR(256) NOT NULL DEFAULT '',
  21. `nickname` VARCHAR(256) NOT NULL DEFAULT '',
  22. `password_hash` VARCHAR(256) NOT NULL,
  23. `avatar_url` LONGTEXT NOT NULL,
  24. `description` VARCHAR(256) NOT NULL DEFAULT ''
  25. );
  26. -- user_setting
  27. CREATE TABLE `user_setting` (
  28. `user_id` INT NOT NULL,
  29. `key` VARCHAR(256) NOT NULL,
  30. `value` LONGTEXT NOT NULL,
  31. UNIQUE(`user_id`,`key`)
  32. );
  33. -- memo
  34. CREATE TABLE `memo` (
  35. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  36. `uid` VARCHAR(256) NOT NULL UNIQUE,
  37. `creator_id` INT NOT NULL,
  38. `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  39. `updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  40. `row_status` VARCHAR(256) NOT NULL DEFAULT 'NORMAL',
  41. `content` TEXT NOT NULL,
  42. `visibility` VARCHAR(256) NOT NULL DEFAULT 'PRIVATE',
  43. `tags` JSON NOT NULL,
  44. `payload` JSON NOT NULL
  45. );
  46. -- memo_organizer
  47. CREATE TABLE `memo_organizer` (
  48. `memo_id` INT NOT NULL,
  49. `user_id` INT NOT NULL,
  50. `pinned` INT NOT NULL DEFAULT '0',
  51. UNIQUE(`memo_id`,`user_id`)
  52. );
  53. -- memo_relation
  54. CREATE TABLE `memo_relation` (
  55. `memo_id` INT NOT NULL,
  56. `related_memo_id` INT NOT NULL,
  57. `type` VARCHAR(256) NOT NULL,
  58. UNIQUE(`memo_id`,`related_memo_id`,`type`)
  59. );
  60. -- resource
  61. CREATE TABLE `resource` (
  62. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  63. `uid` VARCHAR(256) NOT NULL UNIQUE,
  64. `creator_id` INT NOT NULL,
  65. `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  66. `updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  67. `filename` TEXT NOT NULL,
  68. `blob` MEDIUMBLOB,
  69. `type` VARCHAR(256) NOT NULL DEFAULT '',
  70. `size` INT NOT NULL DEFAULT '0',
  71. `memo_id` INT DEFAULT NULL,
  72. `storage_type` VARCHAR(256) NOT NULL DEFAULT '',
  73. `reference` VARCHAR(256) NOT NULL DEFAULT '',
  74. `payload` TEXT NOT NULL
  75. );
  76. -- activity
  77. CREATE TABLE `activity` (
  78. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  79. `creator_id` INT NOT NULL,
  80. `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  81. `type` VARCHAR(256) NOT NULL DEFAULT '',
  82. `level` VARCHAR(256) NOT NULL DEFAULT 'INFO',
  83. `payload` TEXT NOT NULL
  84. );
  85. -- idp
  86. CREATE TABLE `idp` (
  87. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  88. `name` TEXT NOT NULL,
  89. `type` TEXT NOT NULL,
  90. `identifier_filter` VARCHAR(256) NOT NULL DEFAULT '',
  91. `config` TEXT NOT NULL
  92. );
  93. -- inbox
  94. CREATE TABLE `inbox` (
  95. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  96. `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  97. `sender_id` INT NOT NULL,
  98. `receiver_id` INT NOT NULL,
  99. `status` TEXT NOT NULL,
  100. `message` TEXT NOT NULL
  101. );
  102. -- webhook
  103. CREATE TABLE `webhook` (
  104. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  105. `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  106. `updated_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  107. `row_status` VARCHAR(256) NOT NULL DEFAULT 'NORMAL',
  108. `creator_id` INT NOT NULL,
  109. `name` TEXT NOT NULL,
  110. `url` TEXT NOT NULL
  111. );
  112. -- reaction
  113. CREATE TABLE `reaction` (
  114. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  115. `created_ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  116. `creator_id` INT NOT NULL,
  117. `content_id` VARCHAR(256) NOT NULL,
  118. `reaction_type` VARCHAR(256) NOT NULL,
  119. UNIQUE(`creator_id`,`content_id`,`reaction_type`)
  120. );