In order to start developing you will need what is called a
development_app. This is nearly the same as a new Decidim app (that you can create with
decidim app_name) but with a Gemfile pre-configured for local development and some other small config modifications.
You need it in order to have a Rails application configured to lookup Decidim modules from your filesystem. This way changes in your modules will be directly observed by this
You can create a
development_app from inside the project’s root folder with the command:
git clone https://github.com/decidim/decidim.git cd decidim bundle install bundle exec rake development_app cd development_app
A development_app/ entry appears in the .gitignore file, so you don’t have to worry about commiting the development app by mistake.
On creation, this steps are automatically invoked by the generator:
bin/rails db:migrate db:seed
If the default database.yml does not suit your needs you can always configure it at your will and run this steps manually.
Once created you are ready to:
When creating new migrations in Decidim’s modules, you will need to "apply" this migrations to your development_app. The way to do this is by copying the migration from your module into the db/migrate dir of your development_app. Luckily we already have a script that automates this: it copies all missing migrations in development_app/db/migrate. The command is:
Anyway we recommend re-creating your development_app every once in a while.