有没有办法可以在Rails应用程序中获得所有模型的集合?
基本上,我可以这样做: -
Models.each do |model|
puts model.class.name
end
Run Code Online (Sandbox Code Playgroud) 如果一个对象将被持久化到数据库,是否有一种紧凑的方式使用ActiveRecord来查询下一个要使用的id?在SQL中,像这样的查询看起来像:
SELECT max(id) + 1 FROM some_table;
Run Code Online (Sandbox Code Playgroud) 我正在向使用PostgreSQL作为后端的heroku部署rails应用程序.在我的数据库迁移中,我通常会将报告等内容的ID字段设置为至少1000,大多数客户似乎不喜欢从1开始.
通常我使用mysql,我只是在创建表后添加一个特定的sql:
def self.up
create_table :reports do |t|
t.references :something
...
end
execute("ALTER TABLE reports AUTO_INCREMENT = 1000;")
end
Run Code Online (Sandbox Code Playgroud)
有没有人知道我如何为PostgreSQL实现同样的目标,理想情况下我希望迁移来构建表本身,这不是特定于数据库的.
我想实现我的目标的一个愚蠢的方法是在循环中创建和删除999条记录,哎哟.