2016-02-01 79 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

相關問題