我最近遇到了一個問題在處理Heroku的PostgreSQL數據庫的處理。的Heroku]與數據庫
我想更新某個用戶的屬性(讓他的管理員),所以我把數據庫從Heroku的本地更新自己的屬性,並再次推。
heroku db:pull
UPDATE users SET user_type = 'admin' WHERE name = 'thisuser'; //in postgres
heroku db:push
然後,發生下面的問題。
!!! Caught Server Exception
HTTP CODE: 500
Taps Server Error: PGError: ERROR: time zone displacement out of range: "2013-01-21 12:00:00.000000+5895153600"
LINE 1: ....facebook.com/thisuser', 'facebook', '2374538475', '2013-01-2...
因此,我再次運行以下命令以從錯誤中恢復。
heroku db:pull
heroku db:push
而這導致從生產和開發中抹去了我的整個數據庫。 我有兩個問題要問。
- 在Heroku環境中更新某個用戶屬性的正確方法是什麼?拉整個數據庫只是爲了更新一個小對象的一個屬性似乎有點過分。
- 爲什麼我的行爲導致消滅一切從DB?
謝謝你的幫忙。我非常感激。
你可以在你的生產數據庫使用PSQL沒有複製整個事情 - https://devcenter.heroku.com/articles/heroku-postgresql#using-the-cli'Heroku的PG:psql' - 每當你嘗試的任何數據更新到生產系統 - 始終先備份 - https://devcenter.heroku.com/articles/pgbackups – house9