公共播种数据是否存在于 Rails 的某个地方?
Does Common Seeding Data Exist Somewhere for Rails?
原题
为了减少 db/seeds.rb
中的输入量,我想知道是否存在流行的种子 data/code 某处,我可以从中复制粘贴并根据需要进行小的编辑。
具体来说,这里有一些我想找到种子 data/code 的资源:
引用:特定州内的所有城市
州:美国所有州(希望是它们的缩写)
残疾:DSM-5
中的所有残疾
邮政编码:特定州的所有邮政编码
示例:为了播种 种族 table,我不得不在下面输入自己的内容。理想的情况是,如果有人已经在其他地方输入了它,而我所要做的就是复制并粘贴它:
ethnicity_list = [
"American Indian/Alaska Native",
"Asian/Pacific Islander",
"Black/African American",
"Caucasian",
"Hispanic/Mexican American",
"Multiracial",
"Other"
]
ethnicity_list.each do |name|
Ethnicity.create(name: name)
end
回答
这是我目前用于播种的最佳流程:
找到原始数据(通常你可以在网上找到)。将其复制并粘贴到文本文件中。您可能需要对其进行一些格式化以便进行解析。州数据示例:public/states.txt
:
Florida|FL
Georgia|GA
Hawaii|HI
Idaho|ID
...
打开文件,解析数据,然后播种:db/seeds.rb
:
File.open('public/states.txt', 'r') do |file|
file.read.each_line do |state|
name, name_abbrev = state.chomp.split("|")
State.create(name: name, name_abbrev: name_abbrev)
end
end
对于您拥有 countries gem
的国家/地区
对于城市,您有 cities gem
对于邮政编码,问题可能更大,但您也可以将它们添加为种子,就像残疾人一样。
要播种,请查看 SeedMigration as explained in this blog post。
对我来说最好的选择ffaker for fake data + factory_girl生成记录
我的解决方案:
找到原始数据(通常你可以在网上找到)。将其复制并粘贴到文本文件中。您可能需要对其进行一些格式化以便进行解析。州数据示例:public/states.txt:
Florida|FL
Georgia|GA
Hawaii|HI
Idaho|ID
...
打开文件,解析数据,然后播种:db/seeds.rb:
File.open('public/states.txt', 'r') do |file|
file.read.each_line do |state|
name, name_abbrev = state.chomp.split("|")
State.create(name: name, name_abbrev: name_abbrev)
end
end
原题
为了减少 db/seeds.rb
中的输入量,我想知道是否存在流行的种子 data/code 某处,我可以从中复制粘贴并根据需要进行小的编辑。
具体来说,这里有一些我想找到种子 data/code 的资源:
引用:特定州内的所有城市
州:美国所有州(希望是它们的缩写)
残疾:DSM-5
中的所有残疾邮政编码:特定州的所有邮政编码
示例:为了播种 种族 table,我不得不在下面输入自己的内容。理想的情况是,如果有人已经在其他地方输入了它,而我所要做的就是复制并粘贴它:
ethnicity_list = [
"American Indian/Alaska Native",
"Asian/Pacific Islander",
"Black/African American",
"Caucasian",
"Hispanic/Mexican American",
"Multiracial",
"Other"
]
ethnicity_list.each do |name|
Ethnicity.create(name: name)
end
回答
这是我目前用于播种的最佳流程:
找到原始数据(通常你可以在网上找到)。将其复制并粘贴到文本文件中。您可能需要对其进行一些格式化以便进行解析。州数据示例:
public/states.txt
:Florida|FL Georgia|GA Hawaii|HI Idaho|ID ...
打开文件,解析数据,然后播种:
db/seeds.rb
:File.open('public/states.txt', 'r') do |file| file.read.each_line do |state| name, name_abbrev = state.chomp.split("|") State.create(name: name, name_abbrev: name_abbrev) end end
对于您拥有 countries gem
的国家/地区对于城市,您有 cities gem
对于邮政编码,问题可能更大,但您也可以将它们添加为种子,就像残疾人一样。
要播种,请查看 SeedMigration as explained in this blog post。
对我来说最好的选择ffaker for fake data + factory_girl生成记录
我的解决方案:
找到原始数据(通常你可以在网上找到)。将其复制并粘贴到文本文件中。您可能需要对其进行一些格式化以便进行解析。州数据示例:public/states.txt:
Florida|FL
Georgia|GA
Hawaii|HI
Idaho|ID
...
打开文件,解析数据,然后播种:db/seeds.rb:
File.open('public/states.txt', 'r') do |file|
file.read.each_line do |state|
name, name_abbrev = state.chomp.split("|")
State.create(name: name, name_abbrev: name_abbrev)
end
end