|
13 | 13 | ActiveRecord::Schema[8.1].define(version: 2025_02_15_111232) do |
14 | 14 | # These are extensions that must be enabled in order to support this database |
15 | 15 | enable_extension "pg_catalog.plpgsql" |
| 16 | + enable_extension "pg_stat_statements" |
16 | 17 |
|
17 | 18 | create_table "active_storage_attachments", force: :cascade do |t| |
18 | 19 | t.bigint "blob_id", null: false |
|
42 | 43 | t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true |
43 | 44 | end |
44 | 45 |
|
45 | | - create_table "comments", force: :cascade do |t| |
| 46 | + create_table "comments", id: :serial, force: :cascade do |t| |
46 | 47 | t.text "body" |
47 | 48 | t.datetime "created_at", precision: nil |
48 | 49 | t.integer "parent_id" |
49 | | - t.bigint "proposal_id" |
50 | | - t.string "type" |
| 50 | + t.integer "person_id" |
| 51 | + t.integer "proposal_id" |
| 52 | + t.string "type", limit: 255 |
51 | 53 | t.datetime "updated_at", precision: nil |
52 | | - t.bigint "user_id" |
| 54 | + t.integer "user_id" |
| 55 | + t.index ["person_id"], name: "index_comments_on_person_id" |
53 | 56 | t.index ["proposal_id"], name: "index_comments_on_proposal_id" |
54 | 57 | t.index ["user_id"], name: "index_comments_on_user_id" |
55 | 58 | end |
56 | 59 |
|
57 | | - create_table "events", force: :cascade do |t| |
| 60 | + create_table "events", id: :serial, force: :cascade do |t| |
58 | 61 | t.boolean "archived", default: false |
59 | 62 | t.datetime "closes_at", precision: nil |
60 | | - t.string "contact_email" |
| 63 | + t.string "contact_email", limit: 255 |
61 | 64 | t.datetime "created_at", precision: nil |
62 | 65 | t.text "custom_fields" |
63 | 66 | t.datetime "end_date", precision: nil |
64 | 67 | t.text "guidelines" |
65 | | - t.text "info" |
66 | | - t.string "name" |
| 68 | + t.string "name", limit: 255 |
67 | 69 | t.datetime "opens_at", precision: nil |
| 70 | + t.text "policies" |
68 | 71 | t.text "proposal_tags" |
69 | 72 | t.text "review_tags" |
70 | | - t.text "settings" |
71 | | - t.string "slug" |
| 73 | + t.string "slug", limit: 255 |
72 | 74 | t.text "speaker_notification_emails" |
73 | 75 | t.datetime "start_date", precision: nil |
74 | | - t.string "state", default: "draft" |
| 76 | + t.string "state", limit: 255, default: "closed" |
75 | 77 | t.datetime "updated_at", precision: nil |
76 | | - t.string "url" |
| 78 | + t.string "url", limit: 255 |
77 | 79 | t.index ["slug"], name: "index_events_on_slug" |
78 | 80 | end |
79 | 81 |
|
80 | | - create_table "invitations", force: :cascade do |t| |
| 82 | + create_table "invitations", id: :serial, force: :cascade do |t| |
81 | 83 | t.datetime "created_at", precision: nil |
82 | | - t.string "email" |
83 | | - t.bigint "proposal_id" |
84 | | - t.string "slug" |
85 | | - t.string "state", default: "pending" |
| 84 | + t.string "email", limit: 255 |
| 85 | + t.integer "person_id" |
| 86 | + t.integer "proposal_id" |
| 87 | + t.string "slug", limit: 255 |
| 88 | + t.string "state", limit: 255, default: "pending" |
86 | 89 | t.datetime "updated_at", precision: nil |
87 | | - t.bigint "user_id" |
| 90 | + t.integer "user_id" |
| 91 | + t.index ["person_id"], name: "index_invitations_on_person_id" |
88 | 92 | t.index ["proposal_id", "email"], name: "index_invitations_on_proposal_id_and_email", unique: true |
89 | 93 | t.index ["proposal_id"], name: "index_invitations_on_proposal_id" |
90 | 94 | t.index ["slug"], name: "index_invitations_on_slug", unique: true |
91 | 95 | t.index ["user_id"], name: "index_invitations_on_user_id" |
92 | 96 | end |
93 | 97 |
|
94 | | - create_table "notifications", force: :cascade do |t| |
| 98 | + create_table "notifications", id: :serial, force: :cascade do |t| |
95 | 99 | t.datetime "created_at", precision: nil |
96 | | - t.string "message" |
| 100 | + t.string "message", limit: 255 |
| 101 | + t.integer "person_id" |
97 | 102 | t.datetime "read_at", precision: nil |
98 | | - t.string "target_path" |
| 103 | + t.string "target_path", limit: 255 |
99 | 104 | t.datetime "updated_at", precision: nil |
100 | | - t.bigint "user_id" |
| 105 | + t.integer "user_id" |
| 106 | + t.index ["person_id"], name: "index_notifications_on_person_id" |
101 | 107 | t.index ["user_id"], name: "index_notifications_on_user_id" |
102 | 108 | end |
103 | 109 |
|
|
135 | 141 | t.index ["track_id"], name: "index_program_sessions_on_track_id" |
136 | 142 | end |
137 | 143 |
|
138 | | - create_table "proposals", force: :cascade do |t| |
| 144 | + create_table "proposals", id: :serial, force: :cascade do |t| |
139 | 145 | t.text "abstract" |
140 | 146 | t.float "average_rating" |
141 | 147 | t.text "confirmation_notes" |
|
160 | 166 | t.index ["uuid"], name: "index_proposals_on_uuid", unique: true |
161 | 167 | end |
162 | 168 |
|
163 | | - create_table "ratings", force: :cascade do |t| |
| 169 | + create_table "ratings", id: :serial, force: :cascade do |t| |
164 | 170 | t.datetime "created_at", precision: nil |
165 | | - t.bigint "proposal_id" |
| 171 | + t.integer "person_id" |
| 172 | + t.integer "proposal_id" |
166 | 173 | t.integer "score" |
167 | 174 | t.datetime "updated_at", precision: nil |
168 | | - t.bigint "user_id" |
| 175 | + t.integer "user_id" |
| 176 | + t.index ["person_id"], name: "index_ratings_on_person_id" |
169 | 177 | t.index ["proposal_id"], name: "index_ratings_on_proposal_id" |
170 | 178 | t.index ["user_id"], name: "index_ratings_on_user_id" |
171 | 179 | end |
172 | 180 |
|
173 | | - create_table "rooms", force: :cascade do |t| |
174 | | - t.string "address" |
| 181 | + create_table "rooms", id: :serial, force: :cascade do |t| |
| 182 | + t.string "address", limit: 255 |
175 | 183 | t.integer "capacity" |
176 | 184 | t.datetime "created_at", precision: nil |
177 | | - t.bigint "event_id" |
| 185 | + t.integer "event_id" |
178 | 186 | t.integer "grid_position" |
179 | | - t.string "level" |
180 | | - t.string "name" |
181 | | - t.string "room_number" |
| 187 | + t.string "level", limit: 255 |
| 188 | + t.string "name", limit: 255 |
| 189 | + t.string "room_number", limit: 255 |
182 | 190 | t.datetime "updated_at", precision: nil |
183 | 191 | t.index ["event_id"], name: "index_rooms_on_event_id" |
184 | 192 | end |
|
218 | 226 | t.index ["event_id"], name: "index_session_formats_on_event_id" |
219 | 227 | end |
220 | 228 |
|
221 | | - create_table "speakers", force: :cascade do |t| |
| 229 | + create_table "speakers", id: :serial, force: :cascade do |t| |
222 | 230 | t.string "age_range" |
223 | 231 | t.text "bio" |
224 | 232 | t.datetime "created_at", precision: nil |
225 | 233 | t.string "ethnicity" |
226 | 234 | t.bigint "event_id" |
227 | 235 | t.boolean "first_time_speaker" |
228 | 236 | t.text "info" |
| 237 | + t.bigint "person_id" |
229 | 238 | t.bigint "program_session_id" |
230 | 239 | t.string "pronouns" |
231 | 240 | t.bigint "proposal_id" |
|
234 | 243 | t.datetime "updated_at", precision: nil |
235 | 244 | t.bigint "user_id" |
236 | 245 | t.index ["event_id"], name: "index_speakers_on_event_id" |
| 246 | + t.index ["person_id"], name: "index_speakers_on_person_id" |
237 | 247 | t.index ["program_session_id"], name: "index_speakers_on_program_session_id" |
238 | 248 | t.index ["proposal_id"], name: "index_speakers_on_proposal_id" |
239 | 249 | t.index ["user_id"], name: "index_speakers_on_user_id" |
|
254 | 264 | t.index ["event_id"], name: "index_sponsors_on_event_id" |
255 | 265 | end |
256 | 266 |
|
257 | | - create_table "taggings", force: :cascade do |t| |
| 267 | + create_table "taggings", id: :serial, force: :cascade do |t| |
258 | 268 | t.datetime "created_at", precision: nil |
259 | 269 | t.boolean "internal", default: false |
260 | | - t.bigint "proposal_id" |
261 | | - t.string "tag" |
| 270 | + t.integer "proposal_id" |
| 271 | + t.string "tag", limit: 255 |
262 | 272 | t.datetime "updated_at", precision: nil |
263 | 273 | t.index ["proposal_id"], name: "index_taggings_on_proposal_id" |
264 | 274 | end |
265 | 275 |
|
266 | | - create_table "teammates", force: :cascade do |t| |
| 276 | + create_table "teammates", id: :serial, force: :cascade do |t| |
267 | 277 | t.datetime "accepted_at", precision: nil |
268 | 278 | t.datetime "created_at", precision: nil |
269 | 279 | t.datetime "declined_at", precision: nil |
|
303 | 313 | t.index ["track_id"], name: "index_time_slots_on_track_id" |
304 | 314 | end |
305 | 315 |
|
306 | | - create_table "tracks", force: :cascade do |t| |
| 316 | + create_table "tracks", id: :serial, force: :cascade do |t| |
307 | 317 | t.datetime "created_at", precision: nil |
308 | | - t.string "description", limit: 250 |
309 | | - t.bigint "event_id" |
| 318 | + t.string "description" |
| 319 | + t.integer "event_id" |
310 | 320 | t.text "guidelines" |
311 | | - t.string "name" |
| 321 | + t.text "name" |
312 | 322 | t.datetime "updated_at", precision: nil |
313 | 323 | t.index ["event_id"], name: "index_tracks_on_event_id" |
314 | 324 | end |
315 | 325 |
|
316 | | - create_table "users", force: :cascade do |t| |
| 326 | + create_table "users", id: :serial, force: :cascade do |t| |
317 | 327 | t.boolean "admin", default: false |
318 | 328 | t.text "bio" |
319 | 329 | t.datetime "confirmation_sent_at", precision: nil |
|
0 commit comments