【发布时间】:2016-05-09 15:36:57
【问题描述】:
我的应用是由 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 作为我的本地。
【问题讨论】:
-
你的意思是没有输出或者那些表还是空的?顺便说一句,我会使用 create!以避免由于验证导致的静默失败。
-
我的意思是我猜桌子还是空的。因为他们没有在控制台中返回任何文本,并且我在需要联系表格的每个页面上都遇到了内部错误。
-
与其猜测,不如检查表的内容(例如在 rails 控制台中)。错误很可能是因为没有任何东西可以保证您在 question_id 中输入的值(例如)实际上是问题的 id。
标签: ruby activerecord heroku sinatra