DataMapper - 简单关联,DataObjects::SyntaxError - 有什么想法吗?
我使用 DataMapper 设置了一个非常简单的关系:
class A
include DataMapper::Resource
property :id, Serial
has n, :b
end
class B
include DataMapper::Resource
property :id, Serial
belongs_to :a
end
我收到此错误:
dm-do-adapter.rb:70:in `execute_non_query': Cannot add a
NOT NULL column with default value NULL (DataObjects::SyntaxError)
有什么想法吗? :)
I set up a really simple relation using DataMapper:
class A
include DataMapper::Resource
property :id, Serial
has n, :b
end
class B
include DataMapper::Resource
property :id, Serial
belongs_to :a
end
I get this error:
dm-do-adapter.rb:70:in `execute_non_query': Cannot add a
NOT NULL column with default value NULL (DataObjects::SyntaxError)
Any ideas? :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
保存 B 类对象时需要提供 a_id(外键)。如果你想使这个列为空,那么添加belongs_to :a, :required => false,现在你的 B 类看起来像。
然后删除数据库并重建它。
You need to give the a_id(which is a foreign key) while saving the Class B object. if you want to make this NULL column then add belongs_to :a, :required => false, now your Class B looks like.
then drop the db and rebuild it.