我是ruby on rails框架的新手,并使用rails构建一些博客,类似应用程序的组合。因为我使用sqlite作为我的数据库。 我想创建一个可伸缩的应用程序,虽然sqlite是一个轻量级的数据库。我想将数据库更改为postgresql,Mysql和mongodb等。
所以我的问题是如果我更改数据库,我是否需要更改rails代码 或者它与使用sqlite相同?
答案 0 :(得分:1)
ActiveRecord是一个与数据库无关的抽象。这意味着您的模型以及查询它们所代表的表的方式在更换基础数据库时不应更改多少,前提是您只执行基本AR querying并且您坚持不懈密切关注Rails惯例。
但是,建议您在开发中使用相同的数据库(例如Postgres或MySQL),因为您计划在生产中使用,因为在尝试部署应用时可能会遇到问题。
您需要为要在Gemfile中使用的数据库添加Gem:
#gem "sqlite3"
gem "pg"
然后更改 config / database.yml 以连接到新数据库:
default: &default
adapter: postgresql
encoding: unicode
pool: 5
host: localhost
port: 5432
username: root
password:
development:
<<: *default
database: yourapp_development
test:
<<: *default
database: yourapp_test
如果您要迁移到使用Postgres(我个人最喜欢的),我建议您watch this Railscast。