Rails Heroku数据库丢失数据

时间:2013-05-19 13:12:16

标签: ruby-on-rails database sqlite heroku rails-postgresql

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

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

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

修改

FIRST APP'DB CONFIG

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

第二个应用程序'DB CONFIG

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

1 个答案:

答案 0 :(得分:0)

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

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

祝你好运。