Skip to content

This is a skeleton of an application that can be used to quickly bootstrap a Postgres backed, Sinatra application.

License

Notifications You must be signed in to change notification settings

mikegehard/sinatra-postgres-starter-app

Repository files navigation

Sinatra template application

This application can be used as a starting point for a Postgres database backed, via Sequel, application that uses Sinatra. It can be deployed to Heroku.

There are a few things you need to change for your application:

  1. Change scripts/create_databases.sql to create both your development and test databases.
  2. Copy the .env.example file to .env.
  3. Change the .env file to include your database connection strings for both your development and test databases. This file is ignored by git (see .gitignore) to protect your secrets from the outside world.
  4. Add your migrations to the migrations folder. Once you have one migration there, you can delete the .gitsave file. You should also uncomment the line in spec/spec_helper.rb so that your databases will be cleaned up between test runs.

Development

  1. bundle install
  2. Create a database by running psql -d postgres -f scripts/create_databases.sql
  3. Run the migrations in the development database using rake db:migrate. If you would like to migrate to a specific version you can do so using this rake task. Run rake -T for details.
  4. Run the migrations in the testing database using RACK_ENV=test rake db:migrate.
  5. rerun rackup
    • running rerun will reload app when file changes are detected
  6. Run tests using rspec. The tests will clean up the database before each test run.

Migrations on Heroku

To run the migrations on heroku, run heroku run 'rake db:migrate'. If you do not have a Heroku configuration variable named DATABASE_URL, then you will need to create one.

About

This is a skeleton of an application that can be used to quickly bootstrap a Postgres backed, Sinatra application.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published