diff --git a/app/models/draft_sequence.rb b/app/models/draft_sequence.rb index 3040b955b75..7d15c6b9ac1 100644 --- a/app/models/draft_sequence.rb +++ b/app/models/draft_sequence.rb @@ -11,6 +11,7 @@ class DraftSequence < ActiveRecord::Base c.sequence ||= 0 c.sequence += 1 c.save + exec_sql("DELETE FROM drafts WHERE user_id = :user_id AND draft_key = :draft_key AND sequence < :sequence", draft_key: key, user_id: user_id, sequence: c.sequence) c.sequence end diff --git a/spec/models/draft_spec.rb b/spec/models/draft_spec.rb index 8b7f6b6ee3a..0f5f555c2b8 100644 --- a/spec/models/draft_spec.rb +++ b/spec/models/draft_spec.rb @@ -42,6 +42,7 @@ describe Draft do _t = Fabricate(:topic, user: u) s = DraftSequence.current(u, Draft::NEW_TOPIC) expect(Draft.get(u, Draft::NEW_TOPIC, s)).to eq nil + expect(Draft.count).to eq 0 end it 'nukes new pm draft after a pm is created' do