我成功地將我的Sinatra驅動的Ruby應用程序推送到Heroku。如何使用我的Sinatra驅動的Ruby應用程序將數據擦除到Heroku PostgreSQL數據庫
我推送的其中一個文件是一個Ruby腳本,該腳本會將網頁抓取並將數據放入PostgreSQL數據庫(這是非Sinatra數據庫)。
我爲Heroku應用程序設置了一個PostgreSQL插件,但是我沒有得到更多。
我想知道的是如何編輯scraping腳本(使用Sequel gem)將其刮擦的數據添加到Heroku PostgreSQL附加數據庫中。
我看了一下this tutorial就可以了,但是我被卡在第一步了。恐怕我不明白他們列出的命令提示語法。
此外,當我試圖遵循使用PGAdmin III的替代指令時,我遇到了另一個問題。 Heroku教程說:
作爲替代方案,您還可以使用PGAdmin GUI工具創建轉儲文件。爲此,請從對象瀏覽器中選擇一個數據庫,然後單擊工具>備份。將文件名設置爲data.dump,使用「COMPRESS」格式,(在「Dump Options#1」下)選擇不保存特權或表空間。
這裏的問題是我在PGAdmin中看不到「COMPRESS」格式。相反,我只是將文件「data.dump」保存爲「所有文件」類型,而沒有任何格式。
我不確定這是否正確,如果是,我下一步需要做什麼。
任何人都可以證實我在正確的道路上,如果是這樣,下一步我需要做什麼?
編輯:爲了澄清,我試圖讓我的刮腳本添加它的刮數據到Heroku應用程序的PostgreSQL數據庫。現在,它仍然被寫入,就好像它在我的本地計算機上一樣,被抓到我本地的PostgreSQL數據庫中。
有點困惑,你是否想要安排腳本每隔一段時間運行一次(例如每天一次)來刮取源站點並向db中添加新數據,或者您想運行一次以將數據庫播種?如果前者,他們有像heroku調度程序的插件。如果是後者,讓你的刮板填充本地數據庫,那麼你應該能夠'heroku db:push'(至少在我上次使用Heroku的時候起作用) –
@JoshuaCheek,對於混淆抱歉。我想我對此有點困惑。實際上,我想要做的就是讓腳本抓住我的Heroku應用程序的PostgreSQL數據庫。現在,我已經寫下了它之前我推動它。也就是說,它會擦到我本地的PostgreSQL數據庫。 – user1626730
所以你的難處是如何讓腳本訪問Heroku爲你設置的PostgreSQL數據庫? –