我正在练习“Rails:Up and Running”一书。有人写道,如果没有添加,数据库会自动填充id属性。这是一个例子。
some_items.yml:
one:
name: stringOne
two:
name: stringTwo
确定。现在,我正在使用“rake db:migrate”和“rake db:fixtures:load”进行迁移和加载数据。 然后我试图检查“some_items”包含哪个表。在向SQLite3控制台发送SQL查询时,我收到的输出如下:
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属性以正确显示它?
答案 0 :(得分:0)
我想知道SQLite3是否用随机数填充ID?
不,Rails正在这样做。
如果是这样,为什么不以正常的升序排列,如1,2,......?
我相信Rails会为夹具做到这一点,以便尽可能地保持平台独立性并保持简单。
再次 - 如果是这样,为什么Rails不会在YAML测试文件中创建ID属性以正确显示它?
如果您想拥有顺序ID,可以将它们放在灯具文件中:
one:
id: 1
name: stringOne
two:
id: 2
name: stringTwo