mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-20 23:16:15 +08:00
Improve error handling in snapshot provisioning service [SCI-6303]
This commit is contained in:
parent
b5407108ba
commit
db2c903e54
|
@ -14,7 +14,7 @@ module Repositories
|
|||
def call
|
||||
return self unless valid?
|
||||
|
||||
ActiveRecord::Base.transaction do
|
||||
ActiveRecord::Base.transaction(requires_new: true) do
|
||||
repository = @repository_snapshot.original_repository
|
||||
|
||||
repository.repository_columns.each do |column|
|
||||
|
@ -30,8 +30,12 @@ module Repositories
|
|||
end
|
||||
|
||||
@repository_snapshot.ready!
|
||||
rescue ActiveRecord::RecordInvalid => e
|
||||
@errors[e.record.class.name.underscore] = e.record.errors.full_messages
|
||||
rescue StandardError => e
|
||||
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
|
||||
raise ActiveRecord::Rollback
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue