数据库迁移到heroku不起作用

ast*_*ida 5 database ruby-on-rails heroku railstutorial.org ruby-on-rails-4

我一直在尝试将我的数据库迁移到heroku,但没有成功.我在我的数据库中添加了一些用户,当我尝试使用我的heroku应用程序上的电子邮件地址和密码登录时,我收到无效的电子邮件/密码错误,即使这在我的本地服务器上工作得很好.执行下述所有步骤时完全没有错误.

正如前一篇文章所述,我尝试过以下方法:

  1. 对本地代码进行了更改
  2. 任何迁移当然 - 我用过 bundle exec rake db:migrate
  3. 将所有已更改的文件添加到Git git add -A
  4. 将所有添加的文件提交给git git commit -m "Adding features"
  5. 将更改推送到Heroku git push heroku master
  6. 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)
  1. 迁移之后呢 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.

Bol*_*z0r 1

好吧...让我们弄清楚一些事情。

Rake db:migrate 不会迁移数据库的数据。它运行所有迁移(表创建、更新等),以便数据库结构相同,但数据不同!这是一个具有相同结构的全新数据库。

您要做的就是确保您的 PG 数据库具有与 sqlite3 数据库相同的结构,而且确实如此。但如果你想将数据从一个传递到另一个,我会说这会很难。您必须从 sqlite 3 数据库创建一个转储文件,将其更改为 pg 并在 heroku 应用程序中运行。

这是一个关于它的问题。

将 SQLITE SQL 转储文件转换为 POSTGRESQL