<p></p>
<h3 dir="auto">URL</h3>
<p dir="auto"><em>No response</em></p>
<h3 dir="auto">How to reproduce the issue?</h3>
<p dir="auto">The <a href="https://github.com/openstreetmap/openstreetmap-website/blob/master/DOCKER.md">Docker</a> setup suggest that after migration, tests should be run (<code class="notranslate">docker-compose run --rm web bundle exec rails test:all</code>). Yet, the test-database is not set up wherefore the tests fail (see logs below).</p>
<p dir="auto">My suggestion would be to move the <code class="notranslate">Test</code> chapter to the bottom of the documentation and include the full workflow of how to set up the test-db.</p>
<h3 dir="auto">Screenshot(s) or anything else?</h3>
<pre class="notranslate"><code class="notranslate">$ docker compose run --rm web bundle exec rails test:all
[+] Creating 1/0
✔ Container openstreetmap-website-db-1 Running 0.0s
warning: parser/current is loading parser/ruby30, which recognizes 3.0.6-compliant syntax, but you are running 3.0.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
Coverage report generated for Unit Tests to /app/coverage. 132 / 8545 LOC (1.54%) covered.
Lcov style coverage report generated for Unit Tests to coverage/lcov.info
Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected
/var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/postgresql_adapter.rb:81:in `rescue in new_client': We could not find your database: osm_test. Which can be found in the database configuration file located at config/database.yml. (ActiveRecord::NoDatabaseError)
To resolve this issue:
- Did you create the database for this app, or delete it? You may need to create your database.
- Has the database name changed? Check your database.yml config has the correct database name.
To create your database, run:
bin/rails db:create
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/postgresql_adapter.rb:77:in `new_client'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `postgresql_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `public_send'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `new_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:700:in `checkout_new_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:679:in `try_to_checkout_new_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:640:in `acquire_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:341:in `checkout'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:181:in `connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_handler.rb:211:in `retrieve_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_handling.rb:313:in `retrieve_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_handling.rb:280:in `connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/internal_metadata.rb:17:in `enabled?'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/tasks/database_tasks.rb:399:in `schema_up_to_date?'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:635:in `block in load_schema_if_pending!'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:634:in `all?'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:634:in `load_schema_if_pending!'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:655:in `block in maintain_test_schema!'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:909:in `suppress_messages'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:660:in `method_missing'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:655:in `maintain_test_schema!'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_help.rb:17:in `<top (required)>'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38:in `require'
from /app/test/test_helper.rb:33:in `<main>'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /app/test/abilities/abilities_test.rb:3:in `<main>'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_unit/runner.rb:47:in `block in load_tests'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_unit/runner.rb:47:in `each'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_unit/runner.rb:47:in `load_tests'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_unit/runner.rb:40:in `run'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/commands/test/test_command.rb:33:in `perform'
from /var/lib/gems/3.0.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
from /var/lib/gems/3.0.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
from /var/lib/gems/3.0.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/command/base.rb:87:in `perform'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/command.rb:48:in `invoke'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/commands.rb:18:in `<main>'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from bin/rails:4:in `<main>'
/var/lib/gems/3.0.0/gems/pg-1.5.3/lib/pg/connection.rb:696:in `async_connect_or_reset': connection to server at "172.19.0.2", port 5432 failed: FATAL: database "osm_test" does not exist (PG::ConnectionBad)
from /var/lib/gems/3.0.0/gems/pg-1.5.3/lib/pg/connection.rb:824:in `connect_to_hosts'
from /var/lib/gems/3.0.0/gems/pg-1.5.3/lib/pg/connection.rb:759:in `new'
from /var/lib/gems/3.0.0/gems/pg-1.5.3/lib/pg.rb:63:in `connect'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/postgresql_adapter.rb:78:in `new_client'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `postgresql_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `public_send'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `new_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:700:in `checkout_new_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:679:in `try_to_checkout_new_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:640:in `acquire_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:341:in `checkout'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:181:in `connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_adapters/abstract/connection_handler.rb:211:in `retrieve_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_handling.rb:313:in `retrieve_connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/connection_handling.rb:280:in `connection'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/internal_metadata.rb:17:in `enabled?'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/tasks/database_tasks.rb:399:in `schema_up_to_date?'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:635:in `block in load_schema_if_pending!'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:634:in `all?'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:634:in `load_schema_if_pending!'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:655:in `block in maintain_test_schema!'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:909:in `suppress_messages'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:660:in `method_missing'
from /var/lib/gems/3.0.0/gems/activerecord-7.0.6/lib/active_record/migration.rb:655:in `maintain_test_schema!'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_help.rb:17:in `<top (required)>'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38:in `require'
from /app/test/test_helper.rb:33:in `<main>'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /app/test/abilities/abilities_test.rb:3:in `<main>'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_unit/runner.rb:47:in `block in load_tests'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_unit/runner.rb:47:in `each'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_unit/runner.rb:47:in `load_tests'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/test_unit/runner.rb:40:in `run'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/commands/test/test_command.rb:33:in `perform'
from /var/lib/gems/3.0.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
from /var/lib/gems/3.0.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
from /var/lib/gems/3.0.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/command/base.rb:87:in `perform'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/command.rb:48:in `invoke'
from /var/lib/gems/3.0.0/gems/railties-7.0.6/lib/rails/commands.rb:18:in `<main>'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from /var/lib/gems/3.0.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
from bin/rails:4:in `<main>'
</code></pre>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/4102">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLOGODQ6CEASSG66OZDXRBCWTANCNFSM6AAAAAA2QPBSJU">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLK65SDZEUOJCIQOPP3XRBCWTA5CNFSM6AAAAAA2QPBSJWWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHGYC7A5I.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/issues/4102</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/issues/4102",
"url": "https://github.com/openstreetmap/openstreetmap-website/issues/4102",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>