Skip to content

Commit da4bc37

Browse files
committed
Update some methods
1 parent a010831 commit da4bc37

4 files changed

Lines changed: 14 additions & 15 deletions
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
class AddTwoFacets < ActiveRecord::Migration[7.0]
1+
class AddTwoTerms < ActiveRecord::Migration[7.0]
22
def up
33
facet = Facet.find_by!(name: "Medium")
44
Term.create!(facet: facet, value: "Digital")
55
Term.create!(facet: facet, value: "Drawing")
66
end
77

88
def down
9-
facet = Facet.find_by(name: "Medium")
9+
facet = Facet.find_by!(name: "Medium")
1010
Term.where(facet: facet, value: ["Digital", "Drawing"]).delete_all
1111
end
1212
end

db/migrate/20250930220140_add_three_ordered_terms.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@ def up
1616
end
1717

1818
def down
19-
facet = Facet.find_by(name: "Decade")
20-
return unless facet
21-
19+
facet = Facet.find_by!(name: "Decade")
2220
Term.where(facet: facet, value: ["2000-2009", "2010-2019", "After 2020"]).delete_all
2321
term = Term.find_by!(facet: facet, value: "After 1999")
2422
term.update!(ord: 11)

db/migrate/20250930220504_update_term_item_relation.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ def up
3232
def down
3333
facet = Facet.find_by!(name: 'Decade')
3434
target_term = Term.find_by!(facet: facet, value: 'After 1999')
35-
move_term_back_to_item(facet, target_term, '2000-2009')
36-
move_term_back_to_item(facet, target_term, '2010-2019')
37-
move_term_back_to_item(facet, target_term, 'After 2020')
35+
move_term_back_to_item(facet, '2000-2009', target_term)
36+
move_term_back_to_item(facet, '2010-2019', target_term)
37+
move_term_back_to_item(facet, 'After 2020', target_term)
3838
end
3939

4040
private
@@ -52,6 +52,7 @@ def integer_year(val)
5252
return $1.to_i
5353
end
5454
end
55+
return nil
5556
end
5657
end
5758

@@ -62,7 +63,7 @@ def re_assign_term_to_item(item, origin_term, target_term)
6263
end
6364

6465
# Rolls back term assignment from origin_term_value to target_term for all items.
65-
def move_term_back_to_item(facet, target_term, origin_term_value)
66+
def move_term_back_to_item(facet, origin_term_value, target_term)
6667
origin_term = Term.find_by!(facet: facet, value: origin_term_value)
6768
origin_term.items.find_each do |item|
6869
re_assign_term_to_item(item, origin_term, target_term)

db/migrate/20250930230620_update_fix_term_item_relation.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ def up
77
t2020_plus = Term.find_by!(facet: facet, value: 'After 2020')
88

99
# Items with nil date
10-
insert_and_delete(t_after_1999.id, t2000_2009.id, "i.date is null AND i.title in ('Loading a Cannon', 'Dense Populations')")
10+
update_item_term(t_after_1999.id, t2000_2009.id, "i.date is null AND i.title in ('Loading a Cannon', 'Dense Populations')")
1111
# Items with date = '[2020]'
12-
insert_and_delete(t_after_1999.id, t2020_plus.id, "date = '[2020]'")
12+
update_item_term(t_after_1999.id, t2020_plus.id, "date = '[2020]'")
1313
end
1414

1515
def down
@@ -19,18 +19,18 @@ def down
1919
t2020_plus = Term.find_by!(facet: facet, value: 'After 2020')
2020

2121
# revert items with nil date
22-
insert_and_delete(t2000_2009.id,t_after_1999.id, "i.date is null AND i.title in ('Loading a Cannon', 'Dense Populations')")
22+
update_item_term(t2000_2009.id,t_after_1999.id, "i.date is null AND i.title in ('Loading a Cannon', 'Dense Populations')")
2323
# revert items with date = '[2020]'
24-
insert_and_delete(t2020_plus.id, t_after_1999.id, "date = '[2020]'")
24+
update_item_term(t2020_plus.id, t_after_1999.id, "date = '[2020]'")
2525
end
2626

2727
private
2828

29-
def insert_and_delete(old_term_id, new_term_id, condition_sql)
29+
def update_item_term(old_term_id, new_term_id, condition_sql)
3030

3131
execute <<~SQL.squish
3232
WITH target AS (
33-
SELECT it.term_id, it.item_id, i.title
33+
SELECT it.term_id, it.item_id
3434
FROM items i
3535
JOIN items_terms it ON i.id = it.item_id
3636
JOIN terms t ON it.term_id = t.id

0 commit comments

Comments
 (0)