From 1a73518ff7e0062c49c6d1d0a8402d9c62a713e7 Mon Sep 17 00:00:00 2001 From: Thomas Leese Date: Wed, 25 Sep 2024 09:13:54 +0100 Subject: [PATCH] Remove Session date column This is replaced by the SessionDate model which captures multiple dates per session. --- app/models/session.rb | 1 - ...0240925081048_remove_date_from_sessions.rb | 16 ++++++++++++++++ erd.pdf | Bin 63377 -> 63377 bytes spec/factories/sessions.rb | 2 -- spec/models/session_spec.rb | 1 - 5 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 db/migrate/20240925081048_remove_date_from_sessions.rb diff --git a/app/models/session.rb b/app/models/session.rb index 43115d2dc..2ceb26b06 100644 --- a/app/models/session.rb +++ b/app/models/session.rb @@ -7,7 +7,6 @@ # id :bigint not null, primary key # active :boolean default(FALSE), not null # close_consent_at :date -# date :date # send_consent_reminders_at :date # send_consent_requests_at :date # time_of_day :integer diff --git a/db/migrate/20240925081048_remove_date_from_sessions.rb b/db/migrate/20240925081048_remove_date_from_sessions.rb new file mode 100644 index 000000000..4642da74c --- /dev/null +++ b/db/migrate/20240925081048_remove_date_from_sessions.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +class RemoveDateFromSessions < ActiveRecord::Migration[7.2] + def up + Session.all.find_each do |session| + next if (date = session.date).nil? + session.dates.create!(value: date) + end + + remove_column :sessions, :date + end + + def down + add_column :sessions, :date, :date + end +end diff --git a/erd.pdf b/erd.pdf index a5ff1478fc8477138120a4ffde8855479c4589f6..938b1d03f8fa48075ad099864c2d482c9d1e119c 100644 GIT binary patch delta 282 zcmV+#0p`cQ>3#-Ox)8+!;bSYa4R;#mLv60MFA?!*1K zC+A!)1qt#D83`C@MuR-Z<~a|_63OK@NF+zzN)rG`-nz!%0}KQwd`_rRV{bu&-ELAG zwQ5EoHA2BVtw3X1#0=rp+QDp-WTLI+!?hD8R=SO%`5P^{?NncLe=8BzTSiz)URdUe zro|JXkAy^v$zLoyIBTyzaxHxhpKJo}vg!C<{kXWqy-mgnu)N6E*u8ZEgLG9Kv>FGL zrEh#cyG(RJXGb;f&EVa{ZNaawdX!67xv5%ycS4>Hdk3Jl&6b za?asWkcj8VNyI>N8gY*7nMY-b^!++0q({*z8v#gPyT;-J3pj??9v7Zc-eL zZbqpLVktVKK@(ae4DrRe!EV!ZqOB3brIR+%rd_S(Z;TSI(|s+Re?nYu8DVR(VL92* zB4VDvbk zEW;4y*=3>&I(uqFZ-?L}uM2*GGoxCj%5T-`yOZj4*azrS2Yymkk47qs?CyE?Lh0u4 g*5Bb@!AdysrQ2IS3x9)KJ-_q|5+!e1v(@#y0iT+Vy#N3J diff --git a/spec/factories/sessions.rb b/spec/factories/sessions.rb index 238ed8ff5..3b61c6bbd 100644 --- a/spec/factories/sessions.rb +++ b/spec/factories/sessions.rb @@ -7,7 +7,6 @@ # id :bigint not null, primary key # active :boolean default(FALSE), not null # close_consent_at :date -# date :date # send_consent_reminders_at :date # send_consent_requests_at :date # time_of_day :integer @@ -32,7 +31,6 @@ team { programmes.first&.team || association(:team) } location { association :location, :school } - date { Time.zone.today } send_consent_requests_at { date - 14.days } send_consent_reminders_at { send_consent_requests_at + 7.days } close_consent_at { date } diff --git a/spec/models/session_spec.rb b/spec/models/session_spec.rb index 366c888a1..57ffea628 100644 --- a/spec/models/session_spec.rb +++ b/spec/models/session_spec.rb @@ -7,7 +7,6 @@ # id :bigint not null, primary key # active :boolean default(FALSE), not null # close_consent_at :date -# date :date # send_consent_reminders_at :date # send_consent_requests_at :date # time_of_day :integer