Sha256: b45f05aa67b5a4981cb3551a94b273dbcdc75373942cfc298b07e8811c872899
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
class SimplifyRedirectRelations < ActiveRecord::Migration[4.2] class Redirect < ActiveRecord::Base; end class Redirection < ActiveRecord::Base; end def up add_column :redirects, :content_id, :integer Redirect.find_each do |redirect| redirections = Redirection.where(redirect_id: redirect.id) raise "Expected zero or one redirections, found #{redirections.count}" if redirections.count > 1 redirection = redirections.first next unless redirection redirect.content_id = redirection.content_id redirect.save! end remove_column :redirects, :origin drop_table :redirections end def down create_table :redirections do |t| t.integer :content_id t.integer :redirect_id end add_index :redirections, [:content_id] add_index :redirections, [:redirect_id] add_column :redirects, :origin, :string Redirect.find_each do |redirect| next unless redirect.content_id Redirection.create(redirect_id: redirect.id, content_id: redirect.content_id) end remove_column :redirects, :content_id end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
publify_core-9.1.0 | db/migrate/20150807134129_simplify_redirect_relations.rb |