-
Notifications
You must be signed in to change notification settings - Fork 0
/
db_crear_bd.bash
executable file
·61 lines (53 loc) · 2.17 KB
/
db_crear_bd.bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/bash
source db_config.bash
mariadb() {
echo -n "Crear base de datos $base..."
if ! $cmd $param_exec "SHOW DATABASES;" | grep -q $base; then
$cmd $param_exec "CREATE DATABASE $base;"
echo "Hecho."
else
echo "Ya."
fi
echo -n "Crear tabla speakers en base de datos $base..."
if ! $cmd $base $param_exec "SHOW TABLES;" | grep -q speakers; then
$cmd $base $param_exec "CREATE TABLE speakers ( id INT(11) NOT NULL AUTO_INCREMENT, usuario VARCHAR(20) NOT NULL UNIQUE, clave VARCHAR(80) NOT NULL, nombre VARCHAR(200) NOT NULL, correo VARCHAR(50) DEFAULT NULL, activo TINYINT(1) NOT NULL, CONSTRAINT pk_id PRIMARY KEY (id) );"
echo "Hecho."
else
echo "Ya."
fi
echo -n "Crear tabla webminars en base de datos $base..."
if ! $cmd $base $param_exec "SHOW TABLES;" | grep -q webminars; then
$cmd $base $param_exec "CREATE TABLE webminars ( id INT(11) NOT NULL AUTO_INCREMENT, titulo VARCHAR(250) NOT NULL, speaker_id INT(11) NOT NULL, PRIMARY KEY(id), KEY webminar_speaker_id (speaker_id), CONSTRAINT webminars_ibfk_1 FOREIGN KEY (speaker_id) REFERENCES speakers(id) ON DELETE CASCADE );"
echo "Hecho."
else
echo "Ya."
fi
}
sqlite() {
echo -n "Crear base de datos $base..."
if [ ! -r $base ]; then
$cmd $base ".databases" ".exit" >/dev/null
echo "Hecho."
else
echo "Ya."
fi
echo -n "Crear tabla speakers en base de datos $base..."
if ! $cmd $base ".tables" | grep -q speakers; then
$cmd $base "CREATE TABLE speakers ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, usuario VARCHAR(20) NOT NULL UNIQUE, clave VARCHAR(80) NOT NULL, nombre VARCHAR(200) NOT NULL, correo VARCHAR(50) NOT NULL UNIQUE, activo INTEGER NOT NULL);"
echo "Hecho."
else
echo "Ya."
fi
echo -n "Crear tabla webminars en base de datos $base..."
if ! $cmd $base ".tables" | grep -q webminars; then
$cmd $base "CREATE TABLE webminars ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, titulo VARCHAR(250) NOT NULL, speaker_id INTEGER NOT NULL, FOREIGN KEY (speaker_id) REFERENCES speakers (id) ON DELETE CASCADE);"
echo "Hecho."
else
echo "Ya."
fi
}
case $cmd in
mysql) mariadb;;
sqlite3) sqlite;;
*) echo "$cmd desconocido";;
esac