2011-05-30 17 views
4

我已經在應用程序上做了一定量的工作,並且正在接近思考獅身人面像和搜索功能的實現。 TS需要mySQL或Postgresql數據庫來運行,所以我期待將我的開發切換到Postgresql。在開發過程中從SQLite3切換到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從一開始絕對只有這些封面。

我最初給它一個鏡頭通過安裝在我的本地機器上的PostgreSQL和寶石

gem 'pg', :require => 'pg'

,並通過改變我的database.yml文件,以適應與進行連接到本地主機,用戶名,密碼和適配器的PostgreSQL 。然而,這並沒有工作,我假設它是因爲從一開始就沒有從postgresql開始,它沒有安裝一些它需要的文件。

有沒有一種很好的方法可以在開發過程中進行切換,或者它會太麻煩,並且會開始被優先考慮(這不會太糟糕,但並不理想。儘管我可以猜測爲什麼,有人會關心爲什麼這是首選嗎?)

此外,作爲第一次postgresql用戶(和rails newb),它看起來像使用postgresql開發比sqlite3的內置功能更復雜一些。交換機是否建議?或者我應該找到解決方法並堅持使用sqlite3?

+0

PostgreSQL是否可以工作? (您可以使用psql或pgAdminIII連接到數據庫嗎?)您現在最好在部署之前切換3天以上。 – 2011-05-30 21:57:01

+0

@Catcall - 我可以使用SQL shell(psl)命令提示符連接到數據庫,我可以啓動pgAdminIII並修改dbs。我對SQL命令/設置一無所知,所以我處於早期的顛簸階段;試圖讓我的barrings。 – bwvoss 2011-05-31 21:15:51

回答

2

你的意思是說你想在PostgreSQL上開發然後在Sqlite3上部署?這不起作用。

這兩個是非常不同的存儲引擎。 Sqlite只是一個便捷的庫,用於存儲數據並使用SQL的一些子集訪問它。 Postgres是一個全功能的數據庫服務器 - 它需要安裝,需要一個用戶自己,作爲一項服務,最好是在專用的物理計算機上。 Postgres非常強大,快速和可靠,但也需要大量的學習來馴服它。

這兩個存儲引擎使用不同的SQL方言。一個在其中工作的查詢通常會在另一箇中失敗,或者做些微妙的變化,或者變得非常慢。

使用相同的存儲引擎進行開發並不比使用— 這是唯一的方法

+0

不,我的意思是我一直在用sqlite3進行開發,但想將我的開發數據庫切換到postgres,我也將其用於部署。我一直在通過postgresql文檔給自己提供一個速成課程,並且正在熱切地尋找其他一些關於postgres和rails開發的教程。 – bwvoss 2011-05-31 21:09:19

+0

你在你的問題中寫道:「我聽說最好用你將要部署的相同類型的數據庫進行開發。儘管我可以猜測爲什麼,但任何人都會關心爲什麼這是首選。」這讓我覺得你想要這樣做。 – Tometzky 2011-06-01 08:02:23

+0

啊,我看到了,對不起混亂! – bwvoss 2011-06-01 21:24:45

0

我想你想是這樣的

sqlite3 development.sqlite3 .dump | psql -h localhost -p 5432 -U postgres -W database-development 
0

措手不及擰機會變少,當你發展&部署在同一個平臺;),所以它總是好的有同樣分貝的工作,而不是probs面臨後來

相關問題