我在本地开发了一个Book Review应用程序,然后推送到bitbucket,然后部署到Heroku。一切似乎都很顺利,但应用程序的Heroku版本缺少实际数据 - 如书籍,类别,用户等。我按照建议编辑了gemfile,所以我想知道我缺少什么。实际导入所有表格数据有什么必要?这是gemfile:
source 'https://rubygems.org'
gem 'rails', '4.2.5'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'simple_form', '~> 3.2', '>= 3.2.1'
gem 'bootstrap-sass', '~> 3.3', '>= 3.3.6'
gem 'devise', '~> 3.5', '>= 3.5.3'
gem 'paperclip', '~> 4.3', '>= 4.3.2'
gem 'sdoc', '~> 0.4.0', group: :doc
group :development, :test do
gem 'byebug'
end
group :development do
gem 'web-console', '~> 2.0'
gem 'spring'
end
group :development do
gem 'sqlite3'
end
group :production do
gem 'pg'
gem 'rails_12factor'
end
答案 0 :(得分:1)
因此,在做了一点研究之后,我了解到这种事情是常见的,并且被认为是正常的。数据库结构被推送到Heroku,但不是填充数据本身。除了使用像种子文件之类的东西开始一些初始记录之外,听起来应该在生产级别上创建实际的填充数据。
答案 1 :(得分:0)
生产数据库
作为对您答案的更新,您在本地系统上处理不同的environments(production
用于Heroku和development
。
对于不同的环境,会出现不同的数据库(数据会有所不同),因此,您在Heroku数据库中看不到任何数据的原因是因为没有数据。
解决此问题的两种方法是:
Seed
您的生产数据库development
中使用与production
中相同的数据库(不推荐)。您问题的最简单答案是在Rails中使用seeding
方法:
#db/seeds.rb
Model.find_or_create_by attribute: "value"
然后可以通过在控制台中运行rake db:seed
来调用它。
答案 2 :(得分:-1)
运行db:migrate
然后git add -A
,提交等