diff --git a/core/db/migrate/20250129061658_add_metadata_to_spree_resources.rb b/core/db/migrate/20250129061658_add_metadata_to_spree_resources.rb index b0cddbf215..6e6f79ad2c 100644 --- a/core/db/migrate/20250129061658_add_metadata_to_spree_resources.rb +++ b/core/db/migrate/20250129061658_add_metadata_to_spree_resources.rb @@ -11,17 +11,16 @@ def change spree_refunds spree_customer_returns spree_store_credit_events - spree_users spree_return_authorizations ].each do |table_name| change_table table_name do |t| # Check if the database supports jsonb for efficient querying if t.respond_to?(:jsonb) - add_column table_name, :customer_metadata, :jsonb, default: {} - add_column table_name, :admin_metadata, :jsonb, default: {} + t.jsonb(:customer_metadata, default: {}) unless t.column_exists?(:customer_metadata) + t.jsonb(:admin_metadata, default: {}) unless t.column_exists?(:admin_metadata) else - add_column table_name, :customer_metadata, :json - add_column table_name, :admin_metadata, :json + t.json(:customer_metadata) unless t.column_exists?(:customer_metadata) + t.json(:admin_metadata) unless t.column_exists?(:admin_metadata) end end end diff --git a/core/db/migrate/20250221152004_add_metadata_to_users.rb b/core/db/migrate/20250221152004_add_metadata_to_users.rb new file mode 100644 index 0000000000..c76ce050cf --- /dev/null +++ b/core/db/migrate/20250221152004_add_metadata_to_users.rb @@ -0,0 +1,13 @@ +class AddMetadataToUsers < ActiveRecord::Migration[7.0] + def change + change_table Spree.user_class.table_name do |t| + if t.respond_to?(:jsonb) + t.jsonb(:customer_metadata, default: {}) unless t.column_exists?(:customer_metadata) + t.jsonb(:admin_metadata, default: {}) unless t.column_exists?(:admin_metadata) + else + t.json(:customer_metadata) unless t.column_exists?(:customer_metadata) + t.json(:admin_metadata) unless t.column_exists?(:admin_metadata) + end + end + end +end