与Postgres并发写入Rails中的特定表

时间:2018-09-03 07:49:23

标签: postgresql ruby-on-rails-4

我在Postgres上使用rails。 我有2张桌子,可以说houses(名称:字符串)和users(名称:字符串),而user belongs_to house,我们在房子上有一个unique键,所以我们不会有两个同名的房子。

当某人想要创建新用户时,他发送{user: Omer, house: red}并在轨道上运行以下代码

house = House.find_or_initialize_by(name: params[:house])
house.users.create(name: params[:user])

问题是,当我运行多个代码片段时,由于并发性,即使我在表上具有唯一索引,我也会得到两个同名的房子。

根据我的模式

t.index ["name"], name: "index_houses_on_name", unique: true, using: :btree

我想念什么吗?

0 个答案:

没有答案