Seeding your database

Seed script

Simply add a bash script to your repository that contains the script for seeding your database.

This could be a custom script, a custom rake command, or the default Rails rake db:seed command depending on your requirements/implementation. In our example, we will use the default Rails rake db:seed command.

Create the file /.cloud66/ as below:

bundle exec rake db:seed

Deploy hook

Add a deploy hook to execute the above script during the first deploy (on the first server only).

Create the file .cloud66/deploy_hooks.yml as below (replacing production with your target environment).

  after_symlink: # Or use after_rails depending on your application
    - source: /.cloud66/
      destination: /tmp/
      target: rails
      execute: true
      run_on: single_server
      apply_during: build_only      


The deploy hook example above will only execute during the build for a new application. If you want to seed an existing application you could either

  • Execute the seed command manually, or
  • Change the apply_during specification of the deploy hook (could be used for DB data resets during subsequent testing deploys for instance)
Scaling MongoDB with replica sets