ast*_*ida 5 database ruby-on-rails heroku railstutorial.org ruby-on-rails-4
我一直在尝试将我的数据库迁移到heroku,但没有成功.我在我的数据库中添加了一些用户,当我尝试使用我的heroku应用程序上的电子邮件地址和密码登录时,我收到无效的电子邮件/密码错误,即使这在我的本地服务器上工作得很好.执行下述所有步骤时完全没有错误.
正如前一篇文章所述,我尝试过以下方法:
bundle exec rake db:migrategit add -Agit commit -m "Adding features"git push heroku master heroku run rake db:migrate我跑完之后得到:
astelvida:~/workspace/sample_app (master) $ heroku run rake db:migrate
Running rake db:migrate on ? shrouded-ravine-80000... up, run.2794
ActiveRecord::SchemaMigration Load (0.8ms)
SELECT "schema_migrations".* FROM "schema_migrations"
Run Code Online (Sandbox Code Playgroud)
heroku restart我还检查了我的.sqlite3文件,检查新用户是否确实存在于数据库中.
我也试过这个: $ bundle exec rake db:migrate RAILS_ENV=production
我还更新了我的gemfile.lock.
我的开发和生产宝石:
group :development, :test do
gem 'sqlite3', '1.3.9'
gem 'byebug', '3.4.0'
gem 'web-console', '2.0.0.beta3'
gem 'spring', '1.1.3'
end
group :production do
gem 'pg', '0.17.1'
gem 'rails_12factor', '0.0.2'
gem 'puma', '3.1.0'
end
Run Code Online (Sandbox Code Playgroud)
注意:我运行bundle install - withoutout production,但这是我一直使用它的方式,登录数据适用于我过去创建的一些用户.我也使用rails 4.2.2.
好吧...让我们弄清楚一些事情。
Rake db:migrate 不会迁移数据库的数据。它运行所有迁移(表创建、更新等),以便数据库结构相同,但数据不同!这是一个具有相同结构的全新数据库。
您要做的就是确保您的 PG 数据库具有与 sqlite3 数据库相同的结构,而且确实如此。但如果你想将数据从一个传递到另一个,我会说这会很难。您必须从 sqlite 3 数据库创建一个转储文件,将其更改为 pg 并在 heroku 应用程序中运行。
这是一个关于它的问题。
将 SQLITE SQL 转储文件转换为 POSTGRESQL