Skip to content

Commit eca889d

Browse files
authored
Merge pull request #6157 from blish/fix-metadata-users-migration
Respect Spree.user_class' table name in metadata migration
2 parents 2678765 + 1bcdfe4 commit eca889d

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

core/db/migrate/20250129061658_add_metadata_to_spree_resources.rb

+4-5
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,16 @@ def change
1111
spree_refunds
1212
spree_customer_returns
1313
spree_store_credit_events
14-
spree_users
1514
spree_return_authorizations
1615
].each do |table_name|
1716
change_table table_name do |t|
1817
# Check if the database supports jsonb for efficient querying
1918
if t.respond_to?(:jsonb)
20-
add_column table_name, :customer_metadata, :jsonb, default: {}
21-
add_column table_name, :admin_metadata, :jsonb, default: {}
19+
t.jsonb(:customer_metadata, default: {}) unless t.column_exists?(:customer_metadata)
20+
t.jsonb(:admin_metadata, default: {}) unless t.column_exists?(:admin_metadata)
2221
else
23-
add_column table_name, :customer_metadata, :json
24-
add_column table_name, :admin_metadata, :json
22+
t.json(:customer_metadata) unless t.column_exists?(:customer_metadata)
23+
t.json(:admin_metadata) unless t.column_exists?(:admin_metadata)
2524
end
2625
end
2726
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class AddMetadataToUsers < ActiveRecord::Migration[7.0]
2+
def change
3+
change_table Spree.user_class.table_name do |t|
4+
if t.respond_to?(:jsonb)
5+
t.jsonb(:customer_metadata, default: {}) unless t.column_exists?(:customer_metadata)
6+
t.jsonb(:admin_metadata, default: {}) unless t.column_exists?(:admin_metadata)
7+
else
8+
t.json(:customer_metadata) unless t.column_exists?(:customer_metadata)
9+
t.json(:admin_metadata) unless t.column_exists?(:admin_metadata)
10+
end
11+
end
12+
end
13+
end

0 commit comments

Comments
 (0)