mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-08 21:06:24 +08:00
Improve error handling in snapshot provisioning service [SCI-6303]
This commit is contained in:
parent
b5407108ba
commit
db2c903e54
1 changed files with 7 additions and 3 deletions
|
@ -14,7 +14,7 @@ module Repositories
|
||||||
def call
|
def call
|
||||||
return self unless valid?
|
return self unless valid?
|
||||||
|
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction(requires_new: true) do
|
||||||
repository = @repository_snapshot.original_repository
|
repository = @repository_snapshot.original_repository
|
||||||
|
|
||||||
repository.repository_columns.each do |column|
|
repository.repository_columns.each do |column|
|
||||||
|
@ -30,8 +30,12 @@ module Repositories
|
||||||
end
|
end
|
||||||
|
|
||||||
@repository_snapshot.ready!
|
@repository_snapshot.ready!
|
||||||
rescue ActiveRecord::RecordInvalid => e
|
rescue StandardError => e
|
||||||
@errors[e.record.class.name.underscore] = e.record.errors.full_messages
|
if e.is_a?(ActiveRecord::RecordInvalid)
|
||||||
|
@errors[e.record.class.name.underscore] = e.record.errors.full_messages
|
||||||
|
else
|
||||||
|
@errors[:general] = e.message
|
||||||
|
end
|
||||||
Rails.logger.error e.message
|
Rails.logger.error e.message
|
||||||
raise ActiveRecord::Rollback
|
raise ActiveRecord::Rollback
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue