2
我使用灯具来保存我拥有的所有测试数据。如何生成灯具的ID?
我的DB中的每一行在几个rake db:fixtures:load
之间都有相同的ID。
这很好,因为我可以在项目中创建文件夹,例如“people/12345”来容纳模型的其他数据(文件)。
我很想知道,这些生成的ID如何在每个fixtures:load
处保持不变?
我想,轨道将夹具标签传递给哈希函数以获取ID,而不是将其存储在某处。
我使用灯具来保存我拥有的所有测试数据。如何生成灯具的ID?
我的DB中的每一行在几个rake db:fixtures:load
之间都有相同的ID。
这很好,因为我可以在项目中创建文件夹,例如“people/12345”来容纳模型的其他数据(文件)。
我很想知道,这些生成的ID如何在每个fixtures:load
处保持不变?
我想,轨道将夹具标签传递给哈希函数以获取ID,而不是将其存储在某处。
这里是生成的ID代码:
# Returns a consistent, platform-independent identifier for +label+.
# Identifiers are positive integers less than 2^32.
def self.identify(label)
Zlib.crc32(label.to_s) % MAX_ID
end
你可能已经猜到label
是在灯具中使用的标签,如:对YAML夹具:
matz:
first_name: Yukihiro
last_name: Matsumoto
# ID would be:
1520334085