簡體   English   中英

為什么我不能在Windows中遷移postgres數據庫?

[英]Why can't I migrate my postgres database in windows?

我將數據庫從sqlite切換到postgres以便在heroku上進行部署。 當我這樣做並嘗試運行heroku運行rake db:migrate -a時,我看到此錯誤:ActiveRecord :: StatementInvalid:PG :: DatatypeMismatch:錯誤:無法自動將列“ pay_date”轉換為日期提示:您可能需要指定“使用pay_date :: date”。 :ALTER TABLE“ recurring_payments” ALTER COLUMN“ pay_date” TYPE日期因此,我創建了一個遷移來解決此問題,但是當我運行rake db:migrate來運行遷移時,我看到此錯誤:

PG::ConnectionBad: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

但是,當我檢查我的服務時,發現它正在運行,並且已配置為偵聽端口5432。還有什么其他原因可能導致此問題?

另外,如果我將此行添加到database.yml:

  host: localhost 

錯誤變為:

PG::ConnectionBad: could not translate host name "localhost" to address: Name or service not known 

也許這更有希望?

您似乎有多個問題:

默認情況下,Rails使用Unix套接字連接到PostgreSQL。 因此,原始錯誤消息。

添加host密鑰會將Rails改為TCP / IP連接,這是Windows所需要的。

現在您似乎還有另一個問題: localhost無法解析為IP地址,這表明您在Windows機器上存在與Rails或PostgreSQL不相關的常規配置問題。

檢查您的hosts文件是否混亂,或者您的(個人)防火牆是否阻止了Rails或PostgreSQL。 嘗試運行ping localhost

如果所有其他方法均失敗,請嘗試使用host: 127.0.0.1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM