Browse Source

new: [vps] add `rocketchat drop-indexes` command

Signed-off-by: Valentin Lab <valentin.lab@kalysto.org>
rc1
Valentin Lab 2 years ago
parent
commit
cc8ddc4574
  1. 55
      bin/vps

55
bin/vps

@ -636,6 +636,13 @@ compose:psql() {
}
export -f compose:psql
compose:mongo() {
local project_name="$1" dbname="$2" container_id
container_id=$(compose:charm:container_one "$project_name" "mongo") || return 1
docker exec -i "${container_id}" mongo --quiet "$dbname"
}
export -f compose:mongo
compose:pgm() {
local project_name="$1" container_network_ip container_ip container_network
@ -715,6 +722,15 @@ cyclos:unlock() {
export -f cyclos:unlock
rocketchat:drop-indexes() {
local project_name="$1" dbname="$2"
echo "db.users.dropIndexes()" |
compose:mongo "${project_name}" "${dbname}"
}
export -f rocketchat:drop-indexes
compose:project_name() {
if [ -z "$PROJECT_NAME" ]; then
PROJECT_NAME=$(compose --get-project-name) || {
@ -1391,4 +1407,43 @@ cmdline.spec:cyclos:cmd:unlock:run() {
}
cmdline.spec.gnu rocketchat
cmdline.spec::cmd:rocketchat:run() {
:
}
cmdline.spec.gnu drop-indexes
cmdline.spec:rocketchat:cmd:drop-indexes:run() {
: :optval: --database,-d "Target database ('rocketchat' if not specified)"
: :optval: --service,-s "The rocketchat service name (defaults to 'rocketchat')"
local URL
rocketchat_database=${opt_database:-rocketchat}
rocketchat_service="${opt_service:-rocketchat}"
project_name=$(compose:project_name) || exit 1
container_id=$(compose:service:container_one "${project_name}" "${rocketchat_service}") || exit 1
Wrap -d "stop ${DARKYELLOW}${rocketchat_service}${NORMAL}'s container" -- \
docker stop "$container_id" || exit 1
errlvl=0
Wrap -d "drop indexes" -- \
rocketchat:drop-indexes "${project_name}" "${rocketchat_database}" || {
errlvl=1
errmsg="Failed to drop indexes"
}
Wrap -d "start ${DARKYELLOW}${rocketchat_service}${NORMAL}'s container" -- \
docker start "${container_id}" || exit 1
if [ "$errlvl" != 0 ]; then
err "$errmsg"
fi
exit "$errlvl"
}
cmdline::parse "$@"
Loading…
Cancel
Save