2016-02-01 80 views
1

我的应用程序是由Sinatra在我的本地服务器上正常工作的。 但是当我部署到Heroku的,我跑这条命令当我在Heroku上运行db:seed时,什么也没有发生

$ 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作为我的本地。

+0

你的意思是无法产生输出或那些表仍然是空的?另外我会用create!以避免由于验证造成的沉默失败。 –

+0

我的意思是表仍然是空的,我猜。因为他们没有在控制台中返回任何文本,并且每个需要联系表的页面都有内部错误。 – user3403614

+0

而不是猜测,检查表的内容(例如在轨道控制台中)。错误可能很容易,因为没有什么能保证你在question_id中输入的值实际上是问题的标识。 –

回答

0

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

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

heroku pg:reset 
heroku rake db:seed 
+1

我使用PostgreSQL作为我的本地。 我试过那个,但没有工作。 – user3403614

相关问题