将Cloud9开发环境的数据库更改为PostgreSQL的方法
我将介绍如何将Cloud9开发环境的数据库更改为PostgreSQL。
假设已经使用Mysql或Sqlite开发了应用程序,并打算转换到Postgresql。
在我所就读的编程学校中,由于引入成本较低,开发环境使用了Mysql,而生产环境则采用了Postgresql。
因为之前我们亲身经历了在不同环境下出现数据库不一致的情况,所以才决定进行这次尝试。
【Rails】修改或替换数据库的数据类型(Postgresql)
那么,让我把所有的步骤都集中介绍在命令中心。
安装PostgreSQL
sudo yum install postgresql postgresql-server postgresql-devel postgresql-contrib
初始化PostgreSQL。
sudo service postgresql initdb
启动PostgreSQL。
sudo service postgresql start
修改Gemfile。
↓更改前
gem 'mysql2'
↓修改后
gem 'pg'
编辑database.yml文件
MySQL和PostgreSQL有不同的适配器、编码和用户名,所以需要注意。
↓之前的更改
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password:
host: localhost
↓更改之后
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: postgres
password:
host: localhost
创建数据库
rails db:create
应用迁移
rails db:migrate
如果能够成功应用这个完美的迁移,那就完成了。
辛苦了!
请参考
在Cloud9上如何将Rails的数据库从SQLite切换到PostgreSQL?从设置PostgreSQL到创建和删除数据库。