mirror of
https://github.com/zulip/zulip.git
synced 2026-06-21 21:32:29 +08:00
Currently our test database is backed by sqlite; this commit moves us to using postgres for our all database needs. This, in conjunction with the patched django on github, allow us to have fewer hacks and more true-to-life tests. It also sets the stage for testing the bulk_create and schema search_path patches made to django. Developers will need to run: ./tools/postgres-init-test-db ./tools/do-destroy-rebuild-test-database this is assuming that they have already run: ./tools/postgres-init-db ./tools/do-destroy-rebuild-database at some point on this pg_cluster. (The ordering is important; it will other- wise complain about the south_migration table). (imported from commit c56c6f27e13df7ae10b2e643e65d669dde61af3d)
40 lines
875 B
Plaintext
Executable File
40 lines
875 B
Plaintext
Executable File
#/bin/sh -xe
|
|
|
|
if [[ $# == 0 ]]; then
|
|
USERNAME=humbug
|
|
PASSWORD=xxxxxxxxxxxx
|
|
DBNAME=humbug
|
|
SEARCH_PATH="$USERNAME",public
|
|
elif [[ $# == 4 ]]; then
|
|
USERNAME=$1
|
|
PASSWORD=$2
|
|
DBNAME=$3
|
|
SEARCH_PATH=$4
|
|
else
|
|
echo "Usage Instructions"
|
|
echo "Run with either no arguments (sets up devel db for local deploy--humbug with user humbug)"
|
|
echo "or specify <db-username> <password> <db-name> <user-schema-search-path>"
|
|
exit
|
|
fi
|
|
|
|
sudo -u postgres psql << EOF
|
|
CREATE USER $USERNAME WITH PASSWORD '$PASSWORD';
|
|
ALTER USER $USERNAME CREATEDB;
|
|
ALTER ROLE $USERNAME SET search_path TO $SEARCH_PATH;
|
|
EOF
|
|
|
|
umask go-rw
|
|
echo "*:*:*:$USERNAME:$PASSWORD" >> ~/.pgpass
|
|
chmod go-rw ~/.pgpass
|
|
|
|
psql -h localhost postgres $USERNAME <<EOF
|
|
CREATE DATABASE $DBNAME;
|
|
EOF
|
|
|
|
sudo -u postgres psql $DBNAME << EOF
|
|
DROP SCHEMA public CASCADE;
|
|
EOF
|
|
|
|
echo "Database created"
|
|
|