summaryrefslogtreecommitdiffstats
path: root/admin/Database/ogAdmBD-1.1.1c-1.2.0.sql
blob: fb16fe467272d71fe253f39cd183686ac79d214e (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
### 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;
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;