当我在Heroku上运行db:seed时没有任何反应

时间:2016-02-01 08:47:48

标签: ruby activerecord heroku sinatra

我的应用程序是由Sinatra在本地服务器上运行正常的。 但当我部署到Heroku并运行此命令时

$ heroku run rake db:seed

即使这个命令工作正常也没有发生。

$ heroku run rake db:migrate

所以这是我的种子代码

require_relative '../app/models/question'
require_relative '../app/models/answer'
require_relative '../app/models/user'
require 'faker'

class TaskSeed
    def self.faker
        20.times do 
            Question.create(
                :content => Faker::Lorem.sentence(200, true), 
                :headline => Faker::Lorem.sentence,
                :user_id => Faker::Number.between(1, 10)
                ) 
        end

        40.times do 
            Answer.create(
                :content => Faker::Lorem.sentence(20, true), 
                :headline => Faker::Lorem.sentence,
                :user_id => Faker::Number.between(1, 10),
                :question_id => Faker::Number.between(1, 10)
                ) 
        end

        20.times do
            User.create(
                :username => Faker::Internet.user_name, 
                :email => Faker::Internet.email,
                :encrypted_password => Faker::Internet.password(10, 20)
                ) 
        end

        vote_type_arr = ['up','down'] 

        50.times do
            QuestionVote.create(
                :type => vote_type_arr[rand(0..1)],
                :question_id => Faker::Number.between(1, 20)
                ) 
        end
    end
end

TaskSeed.faker

任何人都知道如何解决这个问题?

谢谢!

自项目制定以来,我一直在使用PostgreSQL作为我的本地人。

1 个答案:

答案 0 :(得分:0)

如果您的本地数据库是干净的(没有测试数据),那么您可以尝试heroku db:push

如果您使用的是默认的PostgreSQL,请尝试

heroku pg:reset
heroku rake db:seed