尝试将 Rails 4.2.1 应用程序推送到 Heroku sqlite 错误
Trying to push Rails 4.2.1 app to Heroku sqlite error
所以我阅读了关于那个类似问题的帖子,但仍然感到困惑。这是我的 gem 文件。
我将 gem 文件中的所有 sqlite3 gem 更改为 gem 'pg','0.7.0' 我更改了 database.yml 文件到 postgresql.我做了一个捆绑安装,然后是 heroku 创建,然后是 git push heroku master,这在尝试安装 sqlite3 时遇到了多个问题。
运行 在开发和测试中使用 SQLite 而在生产中使用不同的数据库(如 PostgreSQL)是很常见的。 Rails 可以轻松做到这一点。
在您的 Gemfile 中,您可以使用组来指定应在每个环境中安装哪些 gem。因此,在这种情况下,您的 gemfile 将包含如下内容:
group :development, :test do
gem 'sqlite3', '1.3.9'
end
group :production do
gem 'pg', '0.17.1'
end
第一次添加生产宝石时,您应该运行:
bundle install --without production
更新您的gemfile.lock
。
同样,在database.yml
中,您应该为开发和测试定义sqlite,为生产定义postgresql。这是一个例子:
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
test:
<<: *default
database: db/test.sqlite3
production:
database: signup
adapter: postgresql
pool: 5
timeout: 5000
username: xxxx
password: yyyy
最后,确保在尝试部署到 Heroku 之前将 gemfile 更改提交到生产环境。
所以我阅读了关于那个类似问题的帖子,但仍然感到困惑。这是我的 gem 文件。
我将 gem 文件中的所有 sqlite3 gem 更改为 gem 'pg','0.7.0' 我更改了 database.yml 文件到 postgresql.我做了一个捆绑安装,然后是 heroku 创建,然后是 git push heroku master,这在尝试安装 sqlite3 时遇到了多个问题。
运行 在开发和测试中使用 SQLite 而在生产中使用不同的数据库(如 PostgreSQL)是很常见的。 Rails 可以轻松做到这一点。
在您的 Gemfile 中,您可以使用组来指定应在每个环境中安装哪些 gem。因此,在这种情况下,您的 gemfile 将包含如下内容:
group :development, :test do
gem 'sqlite3', '1.3.9'
end
group :production do
gem 'pg', '0.17.1'
end
第一次添加生产宝石时,您应该运行:
bundle install --without production
更新您的gemfile.lock
。
同样,在database.yml
中,您应该为开发和测试定义sqlite,为生产定义postgresql。这是一个例子:
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
test:
<<: *default
database: db/test.sqlite3
production:
database: signup
adapter: postgresql
pool: 5
timeout: 5000
username: xxxx
password: yyyy
最后,确保在尝试部署到 Heroku 之前将 gemfile 更改提交到生产环境。