Commit 301c4ef9 authored by Shinya Maeda's avatar Shinya Maeda

Use update_column than write_attribute and save

parent 6cfea81e
...@@ -328,8 +328,7 @@ module Ci ...@@ -328,8 +328,7 @@ module Ci
end end
def erase_old_trace! def erase_old_trace!
write_attribute(:trace, nil) update_column(:trace, nil)
save
end end
def needs_touch? def needs_touch?
......
...@@ -510,6 +510,28 @@ describe Gitlab::Ci::Trace do ...@@ -510,6 +510,28 @@ describe Gitlab::Ci::Trace do
it_behaves_like 'source trace in database stays intact', error: ActiveRecord::RecordInvalid it_behaves_like 'source trace in database stays intact', error: ActiveRecord::RecordInvalid
end end
context 'when there is a validation error on Ci::Build' do
before do
allow_any_instance_of(Ci::Build).to receive(:save).and_return(false)
allow_any_instance_of(Ci::Build).to receive_message_chain(:errors, :full_messages)
.and_return(%w[Error Error])
end
context "when erase old trace with 'save'" do
before do
build.send(:write_attribute, :trace, nil)
build.save
end
it 'old trace is not deleted' do
build.reload
expect(build.trace.raw).to eq(trace_content)
end
end
it_behaves_like 'archive trace in database'
end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment