Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 数据库迁移到heroku don';行不通_Ruby On Rails_Database_Ruby On Rails 4_Heroku_Railstutorial.org - Fatal编程技术网

Ruby on rails 数据库迁移到heroku don';行不通

Ruby on rails 数据库迁移到heroku don';行不通,ruby-on-rails,database,ruby-on-rails-4,heroku,railstutorial.org,Ruby On Rails,Database,Ruby On Rails 4,Heroku,Railstutorial.org,我一直在尝试将我的数据库迁移到heroku,但没有成功。我已经向我的数据库中添加了几个用户,当我试图用我的heroku应用程序上的电子邮件地址和密码登录他们时,我收到无效的电子邮件/密码错误,即使这在我的本地服务器上运行得很好。执行下面描述的所有步骤时,完全没有错误 如前一篇文章所述,我尝试了以下方法: 对本地代码进行了更改 在本地运行任何迁移-我使用了bundle exec rake db:migrate 将所有更改的文件添加到GitGit add-A 将所有添加的文件提交到gitgit提交-

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

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

  • 对本地代码进行了更改
  • 在本地运行任何迁移-我使用了
    bundle exec rake db:migrate
  • 将所有更改的文件添加到Git
    Git add-A
  • 将所有添加的文件提交到git
    git提交-m“添加功能”
  • 将更改推送到Heroku
    git push Heroku master
  • 运行heroku运行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"
    
  • 以下迁移不会重新启动heroku
  • 我还检查了我的.sqlite3文件,以检查新用户是否确实存在于数据库中

    我也尝试过:
    $bundle exec rake db:migrate RAILS\u 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
    

    注意:我运行bundle安装——没有生产,但我一直都是这样使用它的,登录数据适用于我在过去创建的一些用户。我也在使用rails 4.2.2。

    好的。。。让我们把事情弄清楚

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

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

    这里有一个问题


    提供您的
    数据库.yml
    和heroku迁移日志