How to run seed.rb file on Amazon ec2

2019-04-16 11:01发布

Recently I hosted my Ruby on Rails application on Amazon EC2 using Elastic Beanstalk. Everything works fine except my seeds.rb file. My seeds.rb file is not executed at the time of hosting. I am using ActiveAdmin also and I define first admin on my seeds.rb file.

How can I create first admin user on Amazon by rails console? Is there any way to open Rails Console on Amazon EC2 ? I am trying to do this using putty but don't know how to do this. Please give me some pointers..

2条回答
Explosion°爆炸
2楼-- · 2019-04-16 11:17

You need to create keypair to access the amazon instance(which i think you already have). Make sure that ssh access is enabled in the current selected security group.

You can connect to the amazon instance using

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

Then cd into the app directory and run bundle exec rake db:seed RAILS_ENV='staging' assuming that you're running the app in staging environment.

查看更多
疯言疯语
3楼-- · 2019-04-16 11:30

Are you not supposed to do something like this?

# .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

You can also pass parameters if needed, or combine all those commands with "cmd1 && cmd2".

查看更多
登录 后发表回答