Skip to content

Commit 7690987

Browse files
committed
fix: remove the unique index from the PR
1 parent 03bb3aa commit 7690987

4 files changed

Lines changed: 0 additions & 76 deletions

File tree

app/models/subscription.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,6 @@ def last_subscription_fee
353353
# index_subscriptions_on_external_id (external_id)
354354
# index_subscriptions_on_last_received_event_on (last_received_event_on)
355355
# index_subscriptions_on_last_received_event_on_null (id) WHERE (last_received_event_on IS NULL)
356-
# index_subscriptions_on_org_external_id_active (organization_id,external_id) UNIQUE WHERE ((status = 1) AND ((created_at >= '2026-05-20 00:00:00'::timestamp without time zone) OR (activated_at >= '2026-05-20 00:00:00'::timestamp without time zone)))
357356
# index_subscriptions_on_organization_id (organization_id)
358357
# index_subscriptions_on_payment_method_id (payment_method_id)
359358
# index_subscriptions_on_plan_id (plan_id)

db/migrate/20260520140601_add_unique_index_on_subscriptions_org_external_id_active.rb

Lines changed: 0 additions & 25 deletions
This file was deleted.

db/structure.sql

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,6 @@ DROP INDEX IF EXISTS public.index_subscriptions_on_previous_subscription_id_and_
393393
DROP INDEX IF EXISTS public.index_subscriptions_on_plan_id;
394394
DROP INDEX IF EXISTS public.index_subscriptions_on_payment_method_id;
395395
DROP INDEX IF EXISTS public.index_subscriptions_on_organization_id;
396-
DROP INDEX IF EXISTS public.index_subscriptions_on_org_external_id_active;
397396
DROP INDEX IF EXISTS public.index_subscriptions_on_last_received_event_on_null;
398397
DROP INDEX IF EXISTS public.index_subscriptions_on_last_received_event_on;
399398
DROP INDEX IF EXISTS public.index_subscriptions_on_external_id;
@@ -9319,13 +9318,6 @@ CREATE INDEX index_subscriptions_on_last_received_event_on ON public.subscriptio
93199318
CREATE INDEX index_subscriptions_on_last_received_event_on_null ON public.subscriptions USING btree (id) WHERE (last_received_event_on IS NULL);
93209319

93219320

9322-
--
9323-
-- Name: index_subscriptions_on_org_external_id_active; Type: INDEX; Schema: public; Owner: -
9324-
--
9325-
9326-
CREATE UNIQUE INDEX index_subscriptions_on_org_external_id_active ON public.subscriptions USING btree (organization_id, external_id) WHERE ((status = 1) AND ((created_at >= '2026-05-20 00:00:00'::timestamp without time zone) OR (activated_at >= '2026-05-20 00:00:00'::timestamp without time zone)));
9327-
9328-
93299321
--
93309322
-- Name: index_subscriptions_on_organization_id; Type: INDEX; Schema: public; Owner: -
93319323
--
@@ -12222,7 +12214,6 @@ ALTER TABLE ONLY public.membership_roles
1222212214
SET search_path TO "$user", public;
1222312215

1222412216
INSERT INTO "schema_migrations" (version) VALUES
12225-
('20260520140601'),
1222612217
('20260520075420'),
1222712218
('20260517101105'),
1222812219
('20260513105210'),

spec/models/subscription_spec.rb

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,45 +1119,4 @@
11191119
end
11201120
end
11211121
end
1122-
1123-
describe "unique index on active subscriptions" do
1124-
# We skip model validations in this test in order to check that database unique index is applied
1125-
1126-
let(:organization) { create(:organization) }
1127-
let(:external_id) { SecureRandom.uuid }
1128-
1129-
context "when two new active subscriptions share the same (organization_id, external_id)" do
1130-
before do
1131-
create(:subscription, customer: create(:customer, organization:), external_id:)
1132-
end
1133-
1134-
it "raises a database uniqueness error" do
1135-
duplicate_sub = build(:subscription, customer: create(:customer, organization:), external_id:)
1136-
1137-
expect { duplicate_sub.save(validate: false) }.to raise_error(ActiveRecord::RecordNotUnique)
1138-
end
1139-
end
1140-
1141-
context "when two old pending subscriptions created before the index cutoff are activated after deploy" do
1142-
let(:sub_a) do
1143-
build(:subscription, :pending, customer: create(:customer, organization:), external_id:, created_at: 2.years.ago)
1144-
end
1145-
let(:sub_b) do
1146-
build(:subscription, :pending, customer: create(:customer, organization:), external_id:, created_at: 2.years.ago)
1147-
end
1148-
1149-
# rubocop:disable Rails/SkipsModelValidations
1150-
it "raises a database uniqueness error on the second activation" do
1151-
sub_a.save(validate: false)
1152-
sub_b.save(validate: false)
1153-
1154-
sub_a.update_columns(status: described_class.statuses[:active], activated_at: Time.current)
1155-
1156-
expect {
1157-
sub_b.update_columns(status: described_class.statuses[:active], activated_at: Time.current)
1158-
}.to raise_error(ActiveRecord::RecordNotUnique)
1159-
end
1160-
# rubocop:enable Rails/SkipsModelValidations
1161-
end
1162-
end
11631122
end

0 commit comments

Comments
 (0)