Ruby on Rails SQLite3表ID号
问题描述:
我正在练习“Rails:Up and Running”一书。如果没有添加,则写入数据库自身填充id属性。这是一个例子。Ruby on Rails SQLite3表ID号
some_items.yml:
one:
name: stringOne
two:
name: stringTwo
确定。现在,我正在使用“rake db:migrate”和“rake db:fixtures:load”进行迁移和加载数据。 然后我试图检查“some_items”包含的是什么表。尽管发送SQL查询来sqlite3的控制台我收到输出是这样的:
298486374|stringTwo|2015-04-06 14:00:33|2015-04-06 14:00:33
980190962|stringOne|2015-04-06 14:00:33|2015-04-06 14:00:33
我想知道是sqlite3的填充ID与随机数?如果是这样,为什么不按照正常的升序排列,如1,2,...?再次 - 如果是这样,为什么Rails不会在YAML测试文件中创建ID属性以正确显示它?
答
我在想SQLite3是用随机数填充ID的吗?
不,Rails正在这样做。
如果是这样,为什么不按照正常的升序排列,如1,2,...?
我相信Rails会为了灯具做到这一点,以便尽可能保持平台无关性并保持简单。
再次 - 如果是这样,为什么Rails没有在YAML测试文件中创建ID属性以正确显示它?
如果你想有序贯的ID,你可以让他们在你的灯具文件:
one:
id: 1
name: stringOne
two:
id: 2
name: stringTwo