@@ -186,20 +186,24 @@ Commands:
186186 Sync files base on 'REMOTE_PATH' or 'LOCAL_PATH' in
187187 the env file.
188188
189- sql:connect
190- Print mysql command for connecting to database (named
191- `db`) in the database container (`mariadb`).
192-
193- Use `$(itkdev-docker-compose sql:connect)` to open the
194- database cli.
189+ sql:cli
190+ Open MySQL client to the database (named `db`) in the database
191+ container (`mariadb`).
195192
196193 Execute a SQL query from the command line:
197194
198- $( itkdev-docker-compose sql:connect) --table <<< 'SHOW TABLES'
195+ itkdev-docker-compose sql:cli --table <<< 'SHOW TABLES'
199196
200197 Run a SQL script:
201198
202- $(itkdev-docker-compose sql:connect) < query.sql
199+ itkdev-docker-compose sql:cli < query.sql
200+
201+ sql:connect
202+ Print mysql command for connecting to database (named
203+ `db`) in the database container (`mariadb`).
204+
205+ Use `$(itkdev-docker-compose sql:connect)` to open the
206+ database cli.
203207
204208 sql:log
205209 Log SQL queries sent to database.
@@ -572,7 +576,7 @@ case "$cmd" in
572576 fi
573577
574578 if command -v pv > /dev/null 2>&1 ; then
575- ssh ${REMOTE_HOST} ${REMOTE_DB_DUMP_CMD} | pv | eval $( itkdev-docker-compose sql:connect )
579+ ssh ${REMOTE_HOST} ${REMOTE_DB_DUMP_CMD} | pv | $script_path sql:cli
576580 else
577581 cat << EOF
578582Protip: run
@@ -581,7 +585,7 @@ Protip: run
581585
582586to show progress
583587EOF
584- ssh ${REMOTE_HOST} ${REMOTE_DB_DUMP_CMD} | eval $( itkdev-docker-compose sql:connect )
588+ ssh ${REMOTE_HOST} ${REMOTE_DB_DUMP_CMD} | $script_path sql:cli
585589 fi
586590
587591 if [ ! -z " ${SYNC_DB_POST_SCRIPT:- } " ]; then
616620 eval rsync -avz ${excludes} ${REMOTE_HOST} :${REMOTE_PATH} / ${docker_compose_dir} /${LOCAL_PATH}
617621 ;;
618622
623+ sql:cli)
624+ db_service=mariadb
625+ exec_args=()
626+ # @see https://stackoverflow.com/a/2456870?
627+ if ! [ -t 0 ]; then
628+ exec_args+=(" --no-TTY" )
629+ fi
630+ docker compose exec " ${exec_args[@]} " $db_service mysql --user=db --password=db --database=db " $@ "
631+ ;;
632+
619633 sql:connect)
620634 db_service=mariadb
621- echo docker compose exec --no-TTY $db_service mysql --user=db --password=db db
635+ echo docker compose exec $db_service mysql --user=db --password=db db
622636 ;;
623637
624638 sql:open)
0 commit comments