#!/bin/sh # XXX: This should be removed when elixir's releases get custom command support if [ -z "$1" ] || [ "$1" = "help" ]; then echo "Usage: $(basename "$0") COMMAND [ARGS] The known commands are: create Create database schema (needs to be executed only once) migrate Execute database migrations (needs to be done after updates) rollback [VERSION] Rollback database migrations (needs to be done before downgrading) and any mix tasks under Pleroma namespace, for example \`mix pleroma.user COMMAND\` is equivalent to \`$(basename "$0") user COMMAND\` By default pleroma_ctl will try calling into a running instance to execute non migration-related commands, if for some reason this is undesired, set PLEROMA_CTL_RPC_DISABLED environment variable " else SCRIPT=$(readlink -f "$0") SCRIPTPATH=$(dirname "$SCRIPT") if [ "$1" = "migrate" ] || [ "$1" = "rollback" ] || [ "$1" = "create" ] || [ -n "$PLEROMA_CTL_RPC_DISABLED" ]; then "$SCRIPTPATH"/pleroma eval 'Pleroma.ReleaseTasks.run("'"$*"'")' else "$SCRIPTPATH"/pleroma rpc 'Pleroma.ReleaseTasks.run("'"$*"'")' fi fi