以下 Rails 模型在 Sequel 中应该是什么样子?
How is the following Rails model should look like in Sequel?
我有以下两个模型:
class Dispute < ApplicationRecord
belongs_to :accuser, class_name: 'User', optional: true
belongs_to :defendant, class_name: 'User', optional: true
end
class User < ApplicationRecord
end
这是 Dispute
的迁移:
class CreateDisputes < ActiveRecord::Migration[5.0]
def change
create_table :disputes do |t|
t.references :accuser
t.references :defendant
end
end
end
这就是他们在 Rails 中的表现:
Dispute.first.accuser
# => <# User>
Dispute.first.defendant
# => <# User>
在Sequel中,我应该是to use many_to_one
,但这是否意味着Sequel User
模型应该有一个对应的one_to_many
?似乎无法正常工作。
这应该有效:
Sequel.migration do
change do
create_table(:disputes) do
primary_key :id
foreign_key :accuser_id, :users
foreign_key :defendant_id, :users
end
end
end
class Dispute < Sequel::Model
many_to_one :accuser, :class=>:User
many_to_one :defendant, :class=>:User
end
我有以下两个模型:
class Dispute < ApplicationRecord
belongs_to :accuser, class_name: 'User', optional: true
belongs_to :defendant, class_name: 'User', optional: true
end
class User < ApplicationRecord
end
这是 Dispute
的迁移:
class CreateDisputes < ActiveRecord::Migration[5.0]
def change
create_table :disputes do |t|
t.references :accuser
t.references :defendant
end
end
end
这就是他们在 Rails 中的表现:
Dispute.first.accuser
# => <# User>
Dispute.first.defendant
# => <# User>
在Sequel中,我应该是to use many_to_one
,但这是否意味着Sequel User
模型应该有一个对应的one_to_many
?似乎无法正常工作。
这应该有效:
Sequel.migration do
change do
create_table(:disputes) do
primary_key :id
foreign_key :accuser_id, :users
foreign_key :defendant_id, :users
end
end
end
class Dispute < Sequel::Model
many_to_one :accuser, :class=>:User
many_to_one :defendant, :class=>:User
end