我已经在应用程序上做了一些工作,我正在接近思考sphinx和搜索功能的实现. TS需要运行mySQL或
Postgresql db,所以我希望将我的开发转换为Postgresql.
有许多很棒的资源可以帮助您在创建新的rails应用程序时切换到SQLite3:
http://mikewilliamson.wordpress.com/2010/04/19/postgres-and-rails-for-mysql-people/和这里:http://www.funonrails.com/2011/03/getting-started-with-rails-3-postgres.html
但这些只是从绝对开始使用Postgresql.
我最初通过在我的本地机器和gem上安装postgresql来试一试
gem’pg’,:require => ‘PG’
并通过更改我的database.yml文件以适应postgresql与本地主机,用户名,密码和适配器的连接.但是,这没有用,我认为它是因为从一开始就没有从postgresql开始,它没有安装它需要的一些文件.
是否有一个很好的方法可以在开发过程中进行切换,或者它是否过于混乱并且会重新开始(这不会太糟糕,但并不理想.而且另一方面,我听说它更好使用与您部署的相同类型的数据库进行开发.虽然我可以猜测为什么,任何人都在关注为什么这是首选的?)
此外,作为第一次postgresql用户(和rails newb),看起来像使用postgresql进行开发比sqlite3的内置功能稍微复杂一点.交换机是否建议?或者我应该找到解决方法并坚持使用sqlite3?
最佳答案 你的意思是你想在PostgreSQL上开发然后在Sqlite3上部署吗?这不行.
这两种是非常不同的存储引擎. Sqlite只是一个方便的库,用于存储数据并使用SQL的某个子集访问它. Postgres是一个功能齐全的数据库服务器 – 它需要安装,需要用户自己,作为服务工作,最好是在专用的物理计算机上. Postgres非常强大,快速和可靠,但也需要大量的学习来驯服它.
这两个存储引擎使用不同的SQL方言.在一个中工作的查询通常会在另一个中失败,或者做一些微妙的不同,或者非常慢.
使用您部署的相同存储引擎进行开发并不是更好 – 这是唯一的方法.