微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 在开发过程中从SQLite3切换到Postgresql以适应Thinking Sphinx

我已经在应用程序上做了一些工作,我正在接近思考sphinx搜索功能的实现. TS需要运行MysqLPostgresql 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方言.在一个中工作的查询通常会在另一个中失败,或者做一些微妙的不同,或者非常慢.

使用您部署的相同存储引擎进行开发并不是更好 – 这是唯一的方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐