blob: f3aa2be965f2a341988a9c0ea6edbfb8d09cdb6e (
plain)
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
|
### Fichero de actualización de la base de datos.
# OpenGnsys 1.1.1, 1.1.1a, 1.1.1b, 1.1.1c - OpenGnsys 1.2.0
#use ogAdmBD
DROP PROCEDURE IF EXISTS altercols;
# Procedimiento para actualización condicional de tablas.
DELIMITER '//'
CREATE PROCEDURE altercols() BEGIN
# Añadir campos fila y columna para localización de ordenador en el aula (ticket #944).
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS
WHERE COLUMN_NAME='n_row' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE())
THEN
ALTER TABLE ordenadores
ADD n_row SMALLINT NOT NULL DEFAULT 0,
ADD n_col SMALLINT NOT NULL DEFAULT 0;
END IF;
# Añadir campos de ordenador en mantenimiento y con acceso remoto (tickets #991 y #992).
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS
WHERE COLUMN_NAME='inremotepc' AND TABLE_NAME='ordenadores' AND TABLE_SCHEMA=DATABASE())
THEN
ALTER TABLE ordenadores
ADD inremotepc SMALLINT NOT NULL DEFAULT 0,
ADD maintenance SMALLINT NOT NULL DEFAULT 0;
END IF;
# Añadir campo con URL para liberar equipo reservado para acceso remoto (ticket #992).
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS
WHERE COLUMN_NAME='urlrelease' AND TABLE_NAME='remotepc' AND TABLE_SCHEMA=DATABASE())
THEN
ALTER TABLE remotepc
ADD urlrelease VARCHAR(100) DEFAULT NULL;
END IF;
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS
WHERE COLUMN_NAME='clonator' AND TABLE_NAME='imagenes' AND TABLE_SCHEMA=DATABASE())
THEN
ALTER TABLE imagenes
ADD clonator varchar(100) NOT NULL DEFAULT '',
ADD compressor varchar(100) NOT NULL DEFAULT '',
ADD filesystem varchar(100) NOT NULL DEFAULT '',
ADD datasize bigint NOT NULL DEFAULT 0;
END IF;
END//
# Ejecutar actualización condicional.
DELIMITER ';'
CALL altercols();
DROP PROCEDURE altercols;
# Redefinir campos como no nulos.
ALTER TABLE aulas
MODIFY inremotepc SMALLINT NOT NULL DEFAULT 0;
ALTER TABLE imagenes
MODIFY inremotepc SMALLINT NOT NULL DEFAULT 0;
# Redefinir campos como nulos por defecto.
ALTER TABLE remotepc
MODIFY urllogin VARCHAR(100) DEFAULT NULL,
MODIFY urllogout VARCHAR(100) DEFAULT NULL;
|