DataMapper - 简单关联,DataObjects::SyntaxError - 有什么想法吗?

发布于 2024-12-03 00:14:26 字数 412 浏览 0 评论 0原文

我使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沫离伤花 2024-12-10 00:14:26

保存 B 类对象时需要提供 a_id(外键)。如果你想使这个列为空,那么添加belongs_to :a, :required => false,现在你的 B 类看起来像。

class B
  include DataMapper::Resource
  property :id, Serial
  belongs_to :a, :required => false
end

然后删除数据库并重建它。

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.

class B
  include DataMapper::Resource
  property :id, Serial
  belongs_to :a, :required => false
end

then drop the db and rebuild it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文