Skip to content

Commit f1c9d8a

Browse files
DEV: Simplify discourse_dev postgres setup (#830)
- Remove manual database creation, and instead promote discourse user to postgres SUPERUSER. This means that `db:drop` and `db:create` commands can be run in the dev image, just like in other local development environments. As well as simplifying things, it fixes turbo_rspec, which was previously impossible in the docker dev environment (because `discourse` didn't have permissions to create the parallel databases) - Stop pre-migrating test database in dev image. It adds additional build time & image size, and doesn't actually help because core's `bin/docker/boot_dev` script overwrites the container's postgres directory with a volume mount
1 parent 6f8c17d commit f1c9d8a

File tree

1 file changed

+1
-33
lines changed

1 file changed

+1
-33
lines changed

image/discourse_dev/postgres_dev.template.yml

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -23,36 +23,4 @@ run:
2323
# give db a few secs to start up
2424
- exec: "sleep 5"
2525

26-
- exec: su postgres -c 'createdb discourse_development' || true
27-
- exec: su postgres -c 'psql discourse_development -c "grant all privileges on database discourse_development to discourse;"' || true
28-
- exec: su postgres -c 'psql discourse_development -c "alter schema public owner to discourse;"'
29-
- exec: su postgres -c 'psql discourse_development -c "create extension if not exists hstore;"'
30-
- exec: su postgres -c 'psql discourse_development -c "create extension if not exists pg_trgm;"'
31-
- exec: su postgres -c 'psql discourse_development -c "create extension if not exists vector;"'
32-
- exec: su postgres -c 'psql discourse_development -c "alter extension vector update;"' || true
33-
34-
- exec: su postgres -c 'createdb discourse_test' || true
35-
- exec: su postgres -c 'psql discourse_test -c "grant all privileges on database discourse_test to discourse;"' || true
36-
- exec: su postgres -c 'psql discourse_test -c "alter schema public owner to discourse;"'
37-
- exec: su postgres -c 'psql discourse_test -c "create extension if not exists hstore;"'
38-
- exec: su postgres -c 'psql discourse_test -c "create extension if not exists pg_trgm;"'
39-
- exec: su postgres -c 'psql discourse_test -c "create extension if not exists vector;"'
40-
- exec: su postgres -c 'psql discourse_test -c "alter extension vector update;"' || true
41-
42-
- exec: su postgres -c 'createdb discourse_test_multisite' || true
43-
- exec: su postgres -c 'psql discourse_test_multisite -c "grant all privileges on database discourse_test_multisite to discourse;"' || true
44-
- exec: su postgres -c 'psql discourse_test_multisite -c "alter schema public owner to discourse;"'
45-
- exec: su postgres -c 'psql discourse_test_multisite -c "create extension if not exists hstore;"'
46-
- exec: su postgres -c 'psql discourse_test_multisite -c "create extension if not exists pg_trgm;"'
47-
- exec: su postgres -c 'psql discourse_test_multisite -c "create extension if not exists vector;"'
48-
- exec: su postgres -c 'psql discourse_test_multisite -c "alter extension vector update;"' || true
49-
50-
- exec: cd tmp && git clone https://github.com/discourse/discourse.git --depth=1
51-
- exec: chown -R discourse /tmp/discourse
52-
- exec: cd /tmp/discourse && sudo -u discourse bundle config --local path ./vendor/bundle
53-
- exec: cd /tmp/discourse && sudo -u discourse bundle install --jobs $(($(nproc) - 1))
54-
- exec: cd /tmp/discourse && sudo -u discourse yarn install
55-
- exec: cd /tmp/discourse && sudo -u discourse yarn cache clean
56-
- exec: cd /tmp/discourse && sudo -u discourse bundle exec rake db:migrate
57-
- exec: cd /tmp/discourse && sudo -u discourse RAILS_ENV=test bundle exec rake db:migrate
58-
- exec: rm -fr /tmp/discourse
26+
- exec: su postgres -c 'psql -c "ALTER USER discourse WITH SUPERUSER;"'

0 commit comments

Comments
 (0)