[英]Does anyone know how to create a new database (through code) on heroku?
我遇到了大量的客戶,他們都在不同的記錄集上進行大量交易。 我說有100個客戶,每個客戶有50萬條產品記錄。 以前,我已經用不同的模式分離了他們的數據。 它在短時間內運行良好,然后我們注意到,當一個客戶端重擊數據庫時,其他所有客戶端都會陷入停頓。
然后,我們移至Heroku的單獨實例。 每個客戶端都有自己的應用程序,因此也有自己的數據庫。 問題在於,加入新客戶意味着我們必須啟動一個新的Heroku應用程序,通常該任務落在開發人員身上。
好的..那就是背景。
現在我的問題。 我想在Heroku上為每個客戶端創建一個新數據庫。 (全部在一個“應用程序”中)。 當我們加入一個新的客戶端時,我的應用程序將創建數據庫並將用戶名綁定到該數據庫。 我可以用這樣的東西很容易地創建一個數據庫。
heroku addons:add heroku-postgresql:#{db_plan}
但是我不知道如何獲取該新數據庫的用戶名和密碼,因此可以將其存儲在新用戶中。
問題:如何獲得他們在heroku上創建的數據庫的用戶名和密碼?
heroku工具帶有一個pg:credentials選項,我從未嘗試過您要嘗試的東西,但是有可能在這里獲得該信息。
Usage: heroku pg
List databases for an app
Additional commands, type "heroku help COMMAND" for more details:
pg:credentials DATABASE # Display the DATABASE credentials.
pg:info [DATABASE] #
pg:kill procpid [DATABASE] # kill a query
pg:killall [DATABASE] # terminates ALL connections
pg:promote DATABASE # Sets DATABASE as your DATABASE_URL
pg:ps [DATABASE] # view active queries with execution time
pg:psql [DATABASE] #
pg:pull <REMOTE_SOURCE_DATABASE> <LOCAL_TARGET_DATABASE> # Pull from REMOTE_SOURCE_DATABASE to LOCAL_TARGET_DATABASE
pg:push <LOCAL_SOURCE_DATABASE> <REMOTE_TARGET_DATABASE> # Push from LOCAL_SOURCE_DATABASE to REMOTE_TARGET_DATABASE
pg:reset DATABASE # Delete all data in DATABASE
pg:unfollow REPLICA # stop a replica from following and make it a read/write database
pg:wait [DATABASE] # monitor database creation, exit when complete
還有...
Usage: heroku pg:credentials DATABASE
Display the DATABASE credentials.
--reset # Reset credentials on the specified database.
本地測試似乎表明它確實確實為您提供了數據庫用戶和密碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.