0

我是 Rails 和 Heroku 的新手。我不部分了解数据库系统(测试、生产、开发)。

我创建了两个 Rails 应用程序。首先是 Rails 的默认 sqlite 数据库,其次是 Heroku 支持的 postgres 数据库。我创建了简单的数据并将应用程序推送到 Heroku,但 Heroku 绝对忽略了我的数据库数据。

我不明白什么?或者你能建议我如何更简单地部署 Rails 应用程序吗?我住在捷克共和国,那里的 Rails 没有那么普遍,所以几乎没有人可以给我建议。

编辑:

第一个应用程序的数据库配置

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

第二个应用程序的数据库配置

development:
  adapter: postgresql
  encoding: unicode
  database: poet2_development
  pool: 5
  username: poet2
  password: psql

test:
  adapter: postgresql
  encoding: unicode
  database: poet2_test
  pool: 5
  username: poet2
  password: psql

production:
  adapter: postgresql
  encoding: unicode
  database: poet2_production
  pool: 5
  username: poet2
  password: psql
4

1 回答 1

0

问题是 Heroku 使用的数据库与您在计算机中本地测试应用程序时使用的数据库不同。因此,当您将应用程序推送到 Heroku 时,您在本地使用它时在应用程序的数据库中创建的所有数据都不会传递下去。

将初始数据添加到 Heroku 数据库的解决方案是使用播种:http ://edgeguides.rubyonrails.org/migrations.html#migrations-and-seed-data 。阅读文档并观看此 Railcasts http://railscasts.com/episodes/179-seed-data,它应该会向您解释一切

祝你好运。

于 2013-05-19T14:00:01.640 回答