如何撰写seed来自定义招聘内容?

Published on:

1. 合并三兄弟命令

打开lib/tasks,新建一个文档 dev.rake
touch lib/tasks/dev.rake
或者直接点击lib/tasks右键新建,输入文档名lib/tasks

编辑:

namespace :dev do
  desc "Rebuild system"
  task :build => ["tmp:clear", "log:clear", "db:drop", "db:create", "db:migrate"]
  task :rebuild => [ "dev:build", "db:seed" ]
end

这个文件自定义了两个命令:dev:builddev:rebuild
dev:build清理了tmp和log内容,同时合并了三兄弟"db:drop”、“db:create”,和”db:migrate”。

dev:rebuild合并了dev:builddb:seed命令。

2.plant seed(我取得名字,哈哈哈)

撰写seed.rb

seed.rb
puts 'Hello World!'
puts '這個種子檔會自動建立一個帳號, 並且随机創建 10 個jobs,10个隐藏的jobs'

create_account = User.create([email: 'admin@gmail.com', password: '111111', password_confirmation: '111111', is_admin: 'true'])
puts 'Admin account is created successfully!'

job_info = [
  '招聘RoR工程师',
  '招聘文案设计',
  '招聘UI设计师',
  '招聘Android开发工程师',
  '招聘产品经理',
  '招聘前端开发工程师',
  '招聘市场营销',
  '招聘php后台研发工程师',
  '招聘python工程师',
  '招聘高级JAVA研发工程师',
  '招聘高级数据挖掘工程师',
  '招聘高级客服经理'
]
create_jobs = for i in 1..10 do
                Job.create!([title: job_info[rand(job_info.length)], description: "这是一个公开的工作", wage_upper_bound: rand(40..79) * 1000, wage_lower_bound: rand(20..39) * 1000, is_hidden: 'false'])
              end
for i in 1..10 do
  Job.create!([title: job_info[rand(job_info.length)], description: "这是一个隐藏的工作", wage_upper_bound: rand(40..79) * 1000, wage_lower_bound: rand(20..39) * 1000, is_hidden: 'true'])
end

puts '10 Public jobs created.'
puts '10 Hidden jobs created.'

3.执行命令

rake dev:rebuild(不想清理原来的数据,可以执行`rake db:seed)

4.上传github和heroku

git push origin xxx(xxx是分支名字)
git push heroku xxx:master
heroku run rake db:migrate

5.执行heroku的seed命令

heroku run rake db:seed

ps: 当然,如果不想清空原来的数据,可以只执行
rake db:seedheroku run rake db:seed

Comments

comments powered by Disqus