Tjek for om en MySQL database findes fra bash

Jeg benytter Vagrant til udvikling og når man laver sit Vagrant miljø har man ofte brug for at teste om provisioning virker som det skal. Men for at være fri for at bygge hele den virtuelle maskine hver gang vil jeg gerne kunne køre provisioning flere gange på den samme.
Så derfor har jeg brug for at kunne tjekke om en MySQL database finde og i mit tilfælde vil jeg så gerne fjerne databasen så den kan blive oprettet igen med nye data.

Her er hvordan jeg klare det fra et shell script.

if mysql -u root -phemmeligkode test >/dev/null 2>&1 </dev/null
then
  echo "test database exists. Dropping it"
  echo "DROP DATABASE test" | /usr/bin/mysql -u root -phemmeligkode -h 127.0.0.1
else
  echo "wordpress database dos not exist"
fi
echo "Crating database"
echo "CREATE DATABASE test" | /usr/bin/mysql -u root -phemmeligkode -h 127.0.0.1

Her stater vi med at tjekke om databasen findes. Hvis den gør laver vi en DROP på den, ellers gør vi ikke noget. Til sidste opretter vi databasen.

Så er det bare at importer de data som der evt. skal ligges ind.

Leave a comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.