我無法丟棄我的Postgres數據庫的Rails應用程序 - 從源碼部署到Heroku的後最近切換。當我運行rake任務彙總數據並填充數據庫,耙分貝:創建分貝:遷移所有的作品,但DB:降不工作。運行rake數據庫後,我在終端中出現以下錯誤:drop db:migrate db:create all。 'all'是一個聚合器的耙子任務。的Postgres DROP DATABASE與rake命令
Couldn't drop something_development : #<PG::Error: FATAL: database "postgres" does not exist
>
Couldn't drop something_test : #<PG::Error: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
>
something_development already exists
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
「這是看我的database.yml文件...`
development:
adapter: postgresql
host: localhost
database: something_development
username: username
test:
adapter: postgresql
database: something_test
pool: 5
timeout: 5000
production:
adapter: postgresql
host: localhost
username: username
database: something_production
而且,這裏是在psql命令行的數據庫列表:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
----------------------+-----------------+----------+---------+-------+-------------------------------------
username | username | UTF8 | en_US | en_US |
something_development | username | UTF8 | en_US | en_US |
template0 | username | UTF8 | en_US | en_US | =c/username+ | | | | | username=CTc/username
template1 | username | UTF8 | en_US | en_US | =c/username + | | | | | username=CTc/username
(4 rows)
編輯 - 我正在努力在推動heroku發展之前做到這一點。我是否需要爲我的用戶名添加訪問權限?我嘗試了GRANT UPDATE ON something_development TO username,但收到ERROR:關係「something_development」不存在。請記住對於Heroku - 謝謝。
有沒有人有什麼可能發生的或任何想法,可能指向我的方向是正確的一些資源?感謝任何幫助 - 謝謝。
我試圖推到之前的Heroku爲此在發展。我是否需要爲我的用戶名添加訪問權限?我試圖GRANT UPDATE ON something_development TO用戶名,但收到的錯誤:關係「something_development」不存在。請記住對於Heroku - 謝謝。 – pvskisteak5
在postgresql中創建數據庫我只是做 \t CREATE USER my_user; \t CREATE DATABASE my_db OWNER my_user; \t ALTER USER my_user WITH ENCRYPTED PASSWORD'password'; \t ALTER ROLE my_user WITH CREATEDB; –
在完成這個操作並在psql中列出數據庫之後,我的用戶名仍然沒有出現在針對something_development的訪問權限下。當運行你建議的CREATE命令時,它表示它們已經存在。我還爲my_user授予了對something_development的訪問權限,這會在psql中列出所有數據庫時顯示。 – pvskisteak5