簡體   English   中英

如何在 Amazon ec2 上運行 seed.rb 文件

[英]How to run seed.rb file on Amazon ec2

最近,我使用Elastic Beanstalk在 Amazon EC2 上托管了我的 Ruby on Rails 應用程序。 除了我的seeds.rb 文件外,一切正常。 我的seeds.rb 文件在托管時未執行。 我也在使用ActiveAdmin ,我在我的 seed.rb 文件上定義了第一個管理員。

如何通過 rails 控制台在 Amazon 上創建第一個管理員用戶? 有沒有辦法在 Amazon EC2 上打開 Rails 控制台? 我正在嘗試使用膩子來做到這一點,但不知道如何做到這一點。 請給我一些指點..

你不應該做這樣的事情嗎?

# .ebextensions/bundles_container.config
container_commands:
  01-bundle-install:
    command: "bundle install"
    leader_only: true
  02-bundle-db-migrate:
    command: "bundle exec rake db:migrate"
    leader_only: true
  03-bundle-db-seed:
    command: "bundle exec rake db:seed RAILS_ENV='staging'"
    leader_only: true

如果需要,您還可以傳遞參數,或將所有這些命令與“cmd1 && cmd2”結合使用。

您需要創建密鑰對來訪問亞馬遜實例(我認為您已經擁有了)。 確保在當前選定的安全組中啟用了 ssh 訪問。

您可以使用連接到亞馬遜實例

ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com

然后 cd 進入應用程序目錄並運行bundle exec rake db:seed RAILS_ENV='staging'假設您在 staging 環境中運行應用程序。

如果您在這里並且上述解決方案對您不起作用。

除了使用 benchwarmer 在上面這個答案中提供的命令之外:

https://stackoverflow.com/a/17232607/1216245

我必須運行為主密鑰和所有 rds 設置提供環境變量的種子命令。

bundle exec rake db:seed RAILS_ENV=production RAILS_MASTER_KEY=<your master key> RDS_HOSTNAME=<your rds hostname> RDS_PASSWORD=<...> RDS_USERNAME=<...> RDS_DB_NAME=<...> RDS_PORT=<...>

它終於奏效了:)

您可以在 AWS 控制台(儀表板)中針對您的環境在配置面板中檢查所有這些。

暫無
暫無

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

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