微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql – Rails ActiveRecord – 有没有一种方法可以对没有id的表执行操作?

我有一个一排两列的桌子 –

int 'version', datetime 'updated'

是否有Rails ActiveRecord方法获取和设置这些列中的数据?
没有id列.

我正在使用此表来跟踪其他表的查询版本.在对另一个表的每次查询之后,版本列递增,并且使用当前日期时间设置更新的列.

解决方法:

没有ID阻止您在ActiveRecord中使用它:

迁移包含:

create_table :posts, :id => false do |t|
  t.integer :version
  t.datetime :updated
end

查询

>> Post.create(:version => 1, :updated => Time.Now)
=> #<Post version: 1, updated: "2009-05-05 19:24:31">
>> Post.all
=> [#<Post version: 1, updated: "2009-05-05 19:24:31">]
>> Post.all(:conditions => { :version => 1 })
=> [#<Post version: 1, updated: "2009-05-05 19:24:31">]

日志报告这些sql请求:

CREATE TABLE "posts" ("version" integer, "updated" datetime) ;
INSERT INTO "posts" ("version", "updated") VALUES(1, '2009-05-05 19:24:31');
SELECT * FROM "posts" 
SELECT * FROM "posts" WHERE ("posts"."version" = 1) 

希望有所帮助

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐