在我们的应用程序中,Elixir中具有以下代码:
Multi.new()
|> Multi.update(
:some_operation_name,
Entity
|> Repo.preload(:some_entity)
|> Ecto.Changeset.optimistic_lock(:lock_version)
|> Ecto.Changeset.change(some_id: some_uuid)
)
|> Repo.transaction()
我们正在使用MySQL数据库,我发现这段代码有点奇怪,因为它在事务内部使用了optimistic_locking。
|> Ecto.Changeset.optimistic_lock(:lock_version)
我想知道是否由于在事务中使用optimistic_locking(悲观锁定)而遇到问题。