12 |
EOF |
EOF |
13 |
} |
} |
14 |
usage () { |
usage () { |
15 |
echo "Usage: update [<base> [<usuario> [<maquina>]]]" |
echo "Usage: update <base> [<usuario> [<maquina>]]" |
16 |
info |
info |
17 |
exit |
exit |
18 |
} |
} |
56 |
|
|
57 |
|
|
58 |
|
|
59 |
BASE="${1:-papo}" |
BASE="$1" |
60 |
USER="${2:-papo}" |
USER="${2:-papo}" |
61 |
HOST="${3:-localhost}" |
HOST="${3:-localhost}" |
62 |
OPTS="-h $HOST -U $USER $BASE" |
OPTS="-h $HOST -U $USER $BASE" |
70 |
echo '\d' | $DB > /dev/null || usage |
echo '\d' | $DB > /dev/null || usage |
71 |
|
|
72 |
info |
info |
73 |
|
mv --backup=t "$LOGFILE" "$LOGFILE~" |
74 |
read -e -p "Querés hacer un backup de la base de datos? [S/n]" do_backup |
read -e -p "Querés hacer un backup de la base de datos? [S/n]" do_backup |
75 |
case "$do_backup" in |
case "$do_backup" in |
76 |
n*|N*) |
n*|N*) |
143 |
|
|
144 |
shopt -s extglob |
shopt -s extglob |
145 |
DIR=${PAPO_VERSION%.+([0-9])}/$PAPO_VERSION |
DIR=${PAPO_VERSION%.+([0-9])}/$PAPO_VERSION |
146 |
|
echo "Tu base ahora es versión $PAPO_VERSION." |
147 |
while [ -d "$DIR" ]; do |
while [ -d "$DIR" ]; do |
148 |
echo Aplicando cambios a $PAPO_VERSION: |
echo Aplicando cambios a $PAPO_VERSION: |
149 |
for i in $DIR/+([0-9])-*; do |
for i in $DIR/+([0-9])-*; do |
155 |
echo -n "generando... " |
echo -n "generando... " |
156 |
"$i" 2>/dev/null >"$TEMPFILE" || abort generando "$i" |
"$i" 2>/dev/null >"$TEMPFILE" || abort generando "$i" |
157 |
echo -n "aplicando... " |
echo -n "aplicando... " |
158 |
$DB -f "$TEMPFILE" >& "$LOGFILE" || abort aplicando "$i" |
$DB -f "$TEMPFILE" >> "$LOGFILE" 2>&1 || abort aplicando "$i" |
159 |
rm -f "$TEMPFILE" |
rm -f "$TEMPFILE" |
160 |
else |
else |
161 |
echo -n "aplicando... " |
echo -n "aplicando... " |
162 |
$DB -a -f "$i" >& "$LOGFILE" || abort aplicando "$i" |
$DB -a -f "$i" >> "$LOGFILE" 2>&1 || abort aplicando "$i" |
163 |
fi |
fi |
164 |
$DB -c "insert into __papo_patches__ (patch) values ('$i')" >& /dev/null || abort notorizando "$i" |
$DB -c "insert into __papo_patches__ (patch) values ('$i')" >& /dev/null || abort notorizando "$i" |
165 |
echo "ok" |
echo "ok" |
174 |
fi |
fi |
175 |
$DB -c "update __papo__ set value='$PAPO_VERSION' where key='version';" |
$DB -c "update __papo__ set value='$PAPO_VERSION' where key='version';" |
176 |
DIR=${PAPO_VERSION%.+([0-9])}/$PAPO_VERSION |
DIR=${PAPO_VERSION%.+([0-9])}/$PAPO_VERSION |
177 |
|
echo "Tu base ahora es versión $PAPO_VERSION." |
178 |
done |
done |
179 |
echo "Todos los cambios que encontré han sido aplicados" |
echo "Todos los cambios que encontré han sido aplicados" |
|
echo "Tu base ahora es versión $PAPO_VERSION." |
|
180 |
if [ "$do_backup" == "s" ]; then |
if [ "$do_backup" == "s" ]; then |
181 |
read -e -p "Querés borrar el backup? [S/n]" del_backup |
read -e -p "Querés borrar el backup? [S/n]" del_backup |
182 |
case "$del_backup" in |
case "$del_backup" in |