DEV: Run db:create in Docker dev container (#29295)

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.
This commit is contained in:
Gary Pendergast 2024-10-24 21:19:42 +11:00 committed by GitHub
parent 95d8ed59db
commit cb5e0d358d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -122,6 +122,7 @@ echo "pnpm install..."
if [ "${initialize}" = "initialize" ]; then if [ "${initialize}" = "initialize" ]; then
echo "Migrating database..." echo "Migrating database..."
"${SCRIPTPATH}/rake" db:create
"${SCRIPTPATH}/rake" db:migrate "${SCRIPTPATH}/rake" db:migrate
RAILS_ENV=test "${SCRIPTPATH}/rake" db:migrate RAILS_ENV=test "${SCRIPTPATH}/rake" db:migrate