user = User.find_by_uuid!(params[:uuid]) name = hash.fetch('name') case action when :upgrade then # ... when :downgrade then # ... else raise ArgumentError end user.save! create_table "subscriptions" do t.string "plan_code", null: false t.integer "account_id", null: false t.timestamp "deleted_at" end add_index "subscriptions", [:account_id, :deleted_at], unique: true add_foreign_key "subscriptions", "accounts"