foodsoft/db/migrate/20181201000305_ensure_article_for_article_price.rb
Patrick Gansterer 3a6276aece Ensure that the article_id is set for every article_price
This addresses the TODO from dc92de771e.
2020-09-04 12:29:17 +02:00

20 lines
544 B
Ruby

class EnsureArticleForArticlePrice < ActiveRecord::Migration
class ArticlePrice < ActiveRecord::Base; end
def change
reversible do |dir|
dir.up do
execute <<-SQL
UPDATE article_prices SET article_id = (
SELECT article_id FROM order_articles
WHERE article_price_id = article_prices.id
)
WHERE article_id IS NULL
SQL
ArticlePrice.where(article_id: nil).destroy_all
end
end
change_column_null :article_prices, :article_id, false
end
end