|
10 | 10 | # |
11 | 11 | # It's strongly recommended that you check this file into your version control system. |
12 | 12 |
|
13 | | -ActiveRecord::Schema[7.2].define(version: 2025_10_21_103843) do |
14 | | - |
15 | | - create_table "active_storage_attachments", charset: "utf8", force: :cascade do |t| |
| 13 | +ActiveRecord::Schema[7.2].define(version: 2025_12_02_131317) do |
| 14 | + create_table "active_storage_attachments", charset: "utf8mb3", collation: "utf8mb3_uca1400_ai_ci", force: :cascade do |t| |
16 | 15 | t.string "name", null: false |
17 | 16 | t.string "record_type", null: false |
18 | 17 | t.bigint "record_id", null: false |
19 | 18 | t.bigint "blob_id", null: false |
20 | | - t.datetime "created_at", precision: 6, null: false |
| 19 | + t.datetime "created_at", null: false |
21 | 20 | t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id" |
22 | 21 | t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true |
23 | 22 | end |
24 | 23 |
|
25 | | - create_table "active_storage_blobs", charset: "utf8", force: :cascade do |t| |
| 24 | + create_table "active_storage_blobs", charset: "utf8mb3", collation: "utf8mb3_uca1400_ai_ci", force: :cascade do |t| |
26 | 25 | t.string "key", null: false |
27 | 26 | t.string "filename", null: false |
28 | 27 | t.string "content_type" |
29 | 28 | t.text "metadata" |
30 | 29 | t.string "service_name", null: false |
31 | 30 | t.bigint "byte_size", null: false |
32 | 31 | t.string "checksum" |
33 | | - t.datetime "created_at", precision: 6, null: false |
| 32 | + t.datetime "created_at", null: false |
34 | 33 | t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true |
35 | 34 | end |
36 | 35 |
|
37 | | - create_table "active_storage_variant_records", charset: "utf8", force: :cascade do |t| |
| 36 | + create_table "active_storage_variant_records", charset: "utf8mb3", collation: "utf8mb3_uca1400_ai_ci", force: :cascade do |t| |
38 | 37 | t.bigint "blob_id", null: false |
39 | 38 | t.string "variation_digest", null: false |
40 | 39 | t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true |
41 | 40 | end |
42 | 41 |
|
43 | | - create_table "announcements", id: :integer, charset: "utf8", collation: "utf8_bin", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 42 | + create_table "announcements", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
44 | 43 | t.string "title" |
45 | | - t.text "text", size: :medium |
| 44 | + t.text "text", size: :long |
46 | 45 | t.integer "originator_id" |
47 | 46 | t.datetime "created_at" |
48 | 47 | t.datetime "updated_at" |
49 | 48 | end |
50 | 49 |
|
51 | | - create_table "comments", id: :integer, charset: "utf8", collation: "utf8_bin", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
52 | | - t.text "text" |
| 50 | + create_table "comments", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 51 | + t.text "text", size: :medium |
53 | 52 | t.integer "commentable_id" |
54 | 53 | t.string "commentable_type" |
55 | 54 | t.integer "commenter_id" |
|
58 | 57 | t.boolean "ham" |
59 | 58 | end |
60 | 59 |
|
61 | | - create_table "enrollments", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 60 | + create_table "enrollments", id: :integer, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
62 | 61 | t.integer "announcement_id" |
63 | 62 | t.integer "user_id" |
64 | 63 | t.datetime "created_at" |
65 | 64 | t.datetime "updated_at" |
66 | 65 | end |
67 | 66 |
|
68 | | - create_table "episodes", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 67 | + create_table "episodes", id: :integer, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
69 | 68 | t.string "name" |
70 | 69 | t.date "start_date" |
71 | 70 | t.date "end_date" |
|
75 | 74 | t.text "description" |
76 | 75 | end |
77 | 76 |
|
78 | | - create_table "episodes_projects", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 77 | + create_table "episodes_projects", id: :integer, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
79 | 78 | t.integer "episode_id" |
80 | 79 | t.integer "project_id" |
81 | 80 | t.datetime "created_at" |
|
84 | 83 | t.index ["project_id"], name: "index_episodes_projects_on_project_id" |
85 | 84 | end |
86 | 85 |
|
87 | | - create_table "faqs", charset: "utf8", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
88 | | - t.text "question" |
89 | | - t.text "answer" |
| 86 | + create_table "faqs", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 87 | + t.text "question", size: :medium |
| 88 | + t.text "answer", size: :medium |
90 | 89 | t.datetime "created_at", null: false |
91 | 90 | t.datetime "updated_at", null: false |
92 | 91 | end |
93 | 92 |
|
94 | | - create_table "impressions", charset: "utf8", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 93 | + create_table "impressions", charset: "utf8mb3", collation: "utf8mb3_uca1400_ai_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
95 | 94 | t.string "impressionable_type" |
96 | 95 | t.integer "impressionable_id" |
97 | 96 | t.integer "user_id" |
|
117 | 116 | t.index ["user_id"], name: "index_impressions_on_user_id" |
118 | 117 | end |
119 | 118 |
|
120 | | - create_table "keywords", id: :integer, charset: "utf8", collation: "utf8_bin", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 119 | + create_table "keywords", id: :integer, charset: "utf8mb3", collation: "utf8mb3_bin", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
121 | 120 | t.text "name" |
122 | 121 | t.datetime "created_at", null: false |
123 | 122 | t.datetime "updated_at", null: false |
|
128 | 127 | t.string "description" |
129 | 128 | end |
130 | 129 |
|
131 | | - create_table "keywords_projects", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 130 | + create_table "keywords_projects", id: :integer, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
132 | 131 | t.integer "project_id" |
133 | 132 | t.integer "keyword_id" |
134 | 133 | t.datetime "created_at", null: false |
135 | 134 | t.datetime "updated_at", null: false |
136 | 135 | end |
137 | 136 |
|
138 | | - create_table "keywords_users", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 137 | + create_table "keywords_users", id: :integer, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
139 | 138 | t.integer "user_id" |
140 | 139 | t.integer "keyword_id" |
141 | 140 | t.datetime "created_at", null: false |
142 | 141 | t.datetime "updated_at", null: false |
143 | 142 | end |
144 | 143 |
|
145 | | - create_table "likes", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 144 | + create_table "likes", id: :integer, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
146 | 145 | t.integer "project_id" |
147 | 146 | t.integer "user_id" |
148 | 147 | t.datetime "created_at", null: false |
149 | 148 | t.datetime "updated_at", null: false |
150 | 149 | end |
151 | 150 |
|
152 | | - create_table "memberships", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 151 | + create_table "memberships", id: :integer, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
153 | 152 | t.integer "project_id" |
154 | 153 | t.integer "user_id" |
155 | 154 | t.datetime "created_at", null: false |
156 | 155 | t.datetime "updated_at", null: false |
157 | 156 | end |
158 | 157 |
|
159 | | - create_table "notifications", id: :integer, charset: "utf8", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 158 | + create_table "notifications", id: :integer, charset: "utf8mb3", collation: "utf8mb3_uca1400_ai_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
160 | 159 | t.integer "recipient_id" |
161 | 160 | t.integer "actor_id" |
162 | 161 | t.datetime "read_at" |
|
167 | 166 | t.datetime "updated_at", null: false |
168 | 167 | end |
169 | 168 |
|
170 | | - create_table "project_follows", id: :integer, charset: "utf8", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 169 | + create_table "project_follows", id: :integer, charset: "utf8mb3", collation: "utf8mb3_uca1400_ai_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
171 | 170 | t.integer "project_id" |
172 | 171 | t.integer "user_id" |
173 | 172 | t.datetime "created_at", null: false |
174 | 173 | t.datetime "updated_at", null: false |
175 | 174 | end |
176 | 175 |
|
177 | | - create_table "projects", id: :integer, charset: "utf8", collation: "utf8_bin", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
178 | | - t.text "title" |
179 | | - t.text "description" |
| 176 | + create_table "project_interests", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t| |
| 177 | + t.integer "project_id" |
| 178 | + t.integer "keyword_id" |
| 179 | + t.datetime "created_at", precision: nil |
| 180 | + t.datetime "updated_at", precision: nil |
| 181 | + end |
| 182 | + |
| 183 | + create_table "projects", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 184 | + t.text "title", size: :medium |
| 185 | + t.text "description", size: :medium |
180 | 186 | t.datetime "created_at", null: false |
181 | 187 | t.datetime "updated_at", null: false |
182 | 188 | t.integer "originator_id" |
|
191 | 197 | t.integer "projecthits", default: 0 |
192 | 198 | end |
193 | 199 |
|
194 | | - create_table "roles", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 200 | + create_table "roles", id: :integer, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
195 | 201 | t.string "name" |
196 | 202 | t.datetime "created_at" |
197 | 203 | t.datetime "updated_at" |
198 | 204 | end |
199 | 205 |
|
200 | | - create_table "roles_users", id: false, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 206 | + create_table "roles_users", id: false, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
201 | 207 | t.integer "role_id" |
202 | 208 | t.integer "user_id" |
203 | 209 | end |
204 | 210 |
|
205 | | - create_table "updates", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
206 | | - t.text "text" |
| 211 | + create_table "updates", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 212 | + t.text "text", size: :medium |
207 | 213 | t.integer "author_id" |
208 | 214 | t.integer "project_id" |
209 | 215 | t.datetime "created_at", null: false |
210 | 216 | t.datetime "updated_at", null: false |
211 | 217 | end |
212 | 218 |
|
213 | | - create_table "users", id: :integer, charset: "latin1", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
| 219 | + create_table "user_interests", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t| |
| 220 | + t.integer "user_id" |
| 221 | + t.integer "keyword_id" |
| 222 | + t.datetime "created_at", precision: nil |
| 223 | + t.datetime "updated_at", precision: nil |
| 224 | + end |
| 225 | + |
| 226 | + create_table "users", id: :integer, charset: "latin1", collation: "latin1_swedish_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| |
214 | 227 | t.string "uid" |
215 | 228 | t.string "name" |
216 | 229 | t.string "email" |
|
231 | 244 | t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true |
232 | 245 | end |
233 | 246 |
|
234 | | - add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" |
235 | 247 | add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id" |
236 | 248 | end |
0 commit comments