diff --git a/db/migrate/20161206055208_regenerate_canonical_sfruby_meetup_urls.rb b/db/migrate/20161206055208_regenerate_canonical_sfruby_meetup_urls.rb new file mode 100644 index 000000000..519cf3619 --- /dev/null +++ b/db/migrate/20161206055208_regenerate_canonical_sfruby_meetup_urls.rb @@ -0,0 +1,21 @@ +class RegenerateCanonicalSfrubyMeetupUrls < ActiveRecord::Migration + class Event < ActiveRecord::Base + serialize :imported_event_data, JSON + end + + def change + # The old format stored was like http://www.sfruby.info/events/13311831/, + # but those URLs don't work anymore for whatever reason. + + # URLs of the form https://www.meetup.com/sfruby/events/13311831/ + # still work fine. + meetup_events = Event.where.not(imported_event_data: nil) + .select { |e| e.imported_event_data['student_event']['url'].match /sfruby/ } + meetup_events.each do |e| + imported_event_data = e.imported_event_data + imported_event_data['volunteer_event']['url'] = "https://www.meetup.com/sfruby/events/#{imported_event_data['volunteer_event']['id']}/" + imported_event_data['student_event']['url'] = "https://www.meetup.com/sfruby/events/#{imported_event_data['student_event']['id']}/" + e.update_attribute(:imported_event_data, imported_event_data) + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 34d0a8940..13bc335c6 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20161204040052) do +ActiveRecord::Schema.define(version: 20161206055208) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" enable_extension "unaccent"