6
6
# It does so by having Synapse generate an up-to-date SQLite DB, then running
7
7
# synapse_port_db to convert it to Postgres. It then dumps the contents of both.
8
8
9
- POSTGRES_HOST =" localhost"
9
+ export PGHOST =" localhost"
10
10
POSTGRES_DB_NAME=" synapse_full_schema.$$ "
11
11
12
12
SQLITE_FULL_SCHEMA_OUTPUT_FILE=" full.sql.sqlite"
@@ -32,7 +32,7 @@ usage() {
32
32
while getopts " p:co:h" opt; do
33
33
case $opt in
34
34
p)
35
- POSTGRES_USERNAME =$OPTARG
35
+ export PGUSER =$OPTARG
36
36
;;
37
37
c)
38
38
# Print all commands that are being executed
@@ -69,7 +69,7 @@ if [ ${#unsatisfied_requirements} -ne 0 ]; then
69
69
exit 1
70
70
fi
71
71
72
- if [ -z " $POSTGRES_USERNAME " ]; then
72
+ if [ -z " $PGUSER " ]; then
73
73
echo " No postgres username supplied"
74
74
usage
75
75
exit 1
84
84
# Create the output directory if it doesn't exist
85
85
mkdir -p " $OUTPUT_DIR "
86
86
87
- read -rsp " Postgres password for '$POSTGRES_USERNAME ': " POSTGRES_PASSWORD
87
+ read -rsp " Postgres password for '$PGUSER ': " PGPASSWORD
88
88
echo " "
89
+ export PGPASSWORD
89
90
90
91
# Exit immediately if a command fails
91
92
set -e
@@ -131,9 +132,9 @@ report_stats: false
131
132
database:
132
133
name: "psycopg2"
133
134
args:
134
- user: "$POSTGRES_USERNAME "
135
- host: "$POSTGRES_HOST "
136
- password: "$POSTGRES_PASSWORD "
135
+ user: "$PGUSER "
136
+ host: "$PGHOST "
137
+ password: "$PGPASSWORD "
137
138
database: "$POSTGRES_DB_NAME "
138
139
139
140
# Suppress the key server warning.
@@ -150,7 +151,7 @@ scripts-dev/update_database --database-config "$SQLITE_CONFIG"
150
151
151
152
# Create the PostgreSQL database.
152
153
echo " Creating postgres database..."
153
- createdb $POSTGRES_DB_NAME
154
+ createdb --lc-collate=C --lc-ctype=C --template=template0 " $POSTGRES_DB_NAME "
154
155
155
156
echo " Copying data from SQLite3 to Postgres with synapse_port_db..."
156
157
if [ -z " $COVERAGE " ]; then
@@ -181,7 +182,7 @@ DROP TABLE user_directory_search_docsize;
181
182
DROP TABLE user_directory_search_stat;
182
183
"
183
184
sqlite3 " $SQLITE_DB " <<< " $SQL"
184
- psql $POSTGRES_DB_NAME -U " $POSTGRES_USERNAME " -w <<< " $SQL"
185
+ psql " $POSTGRES_DB_NAME " -w <<< " $SQL"
185
186
186
187
echo " Dumping SQLite3 schema to '$OUTPUT_DIR /$SQLITE_FULL_SCHEMA_OUTPUT_FILE '..."
187
188
sqlite3 " $SQLITE_DB " " .dump" > " $OUTPUT_DIR /$SQLITE_FULL_SCHEMA_OUTPUT_FILE "
0 commit comments