When attempting to [set up the Docker development environment](https://meta.discourse.org/t/install-discourse-for-development-using-docker/102009), I was seeing the following error when running `d/boot_dev --init`: ``` ActiveRecord::NoDatabaseError: We could not find your database: discourse_development. Available database configurations can be found in config/database.yml. (ActiveRecord::NoDatabaseError) ``` Running `db:create` before the `db:migrate` fixed this issue for me. It appears to be safe to run `db:create` even if the database already exists, running `d/rake db:create` locally shows an info message at the database already exists, but doesn't exit with an error. |
||
|---|---|---|
| .. | ||
| boot_dev | ||
| bundle | ||
| cleanup | ||
| discourse | ||
| ember-cli | ||
| exec | ||
| mailhog | ||
| migrate | ||
| psql | ||
| rails | ||
| rake | ||
| README.md | ||
| reset_db | ||
| rspec | ||
| shell | ||
| shell_root | ||
| shutdown_dev | ||
| unicorn | ||
Developing using Docker
Since Discourse runs in Docker, why not develop there? If you have Docker installed, you should be able to run Discourse directly from your source directory using a Discourse development container.
You can find installation instructions and related discussion in this meta topic: https://meta.discourse.org/t/beginners-guide-to-install-discourse-for-development-using-docker/102009
Where is the container image/Dockerfile defined?
The Dockerfile comes from discourse/discourse_docker on GitHub, in particular image/discourse_dev.