73 lines
2.7 KiB
SQL
73 lines
2.7 KiB
SQL
-- Tabella delle tipologie di firma
|
|
CREATE TABLE IF NOT EXISTS `#__circolari_firmetipi` (
|
|
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`nome` VARCHAR(100) NOT NULL,
|
|
`descrizione` TEXT DEFAULT NULL,
|
|
`bottoni_firma` TEXT DEFAULT NULL,
|
|
`state` TINYINT(1) DEFAULT 1,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Tabella principale circolari
|
|
CREATE TABLE IF NOT EXISTS `#__circolari` (`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`state` TINYINT(1) DEFAULT 1,
|
|
`ordering` INT(11) DEFAULT 0,
|
|
`checked_out` INT(11) UNSIGNED DEFAULT NULL,
|
|
`checked_out_time` DATETIME DEFAULT NULL,
|
|
`created_by` INT(11) UNSIGNED DEFAULT 0,
|
|
`modified_by` INT(11) UNSIGNED DEFAULT 0,
|
|
`categoria_id` INT(11) UNSIGNED NOT NULL DEFAULT 0,
|
|
`usergroup_id` INT(11) UNSIGNED NOT NULL DEFAULT 0,
|
|
`hits` INT(11) UNSIGNED NOT NULL DEFAULT 0,
|
|
`title` VARCHAR(255) DEFAULT "",
|
|
`description` TEXT,
|
|
`attachment` VARCHAR(255) DEFAULT "",
|
|
`image` VARCHAR(255) DEFAULT "",
|
|
`tipologia_firma_id` INT(11) UNSIGNED DEFAULT NULL,
|
|
`firma_obbligatoria` TINYINT(1) DEFAULT 0,
|
|
`scadenza` DATETIME DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_state` (`state`),
|
|
KEY `idx_checked_out` (`checked_out`),
|
|
KEY `idx_created_by` (`created_by`),
|
|
KEY `idx_modified_by` (`modified_by`),
|
|
KEY `idx_tipologia_firma_id` (`tipologia_firma_id`),
|
|
KEY `idx_categoria_id` (`categoria_id`),
|
|
KEY `idx_usergroup_id` (`usergroup_id`),
|
|
KEY `idx_hits` (`hits`),
|
|
CONSTRAINT `fk_tipologia_firma`
|
|
FOREIGN KEY (`tipologia_firma_id`)
|
|
REFERENCES `#__circolari_firmetipi` (`id`)
|
|
ON DELETE SET NULL
|
|
ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Tabella firme
|
|
CREATE TABLE IF NOT EXISTS `#__circolari_firme` (
|
|
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`circolare_id` INT(11) UNSIGNED NOT NULL,
|
|
`user_id` INT(11) UNSIGNED NOT NULL,
|
|
`firma` ENUM('presa_visione','aderisco','non_aderisco','non_in_servizio') NOT NULL,
|
|
`data_firma` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `firma_unica` (`circolare_id`, `user_id`)
|
|
) ENGINE=InnoDB DEFAULT COLLATE=utf8mb4_unicode_ci;
|
|
|
|
|
|
-- Aggiunge tabella categorie interne per com_circolari e il campo categoria_id su #__circolari
|
|
CREATE TABLE IF NOT EXISTS `#__circolari_categorie` (
|
|
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`title` VARCHAR(190) NOT NULL,
|
|
`alias` VARCHAR(190) NOT NULL DEFAULT '',
|
|
`description` TEXT DEFAULT NULL,
|
|
`state` TINYINT(1) NOT NULL DEFAULT 1,
|
|
`ordering` INT(11) NOT NULL DEFAULT 0,
|
|
`created` DATETIME NULL DEFAULT NULL,
|
|
`created_by` INT(10) UNSIGNED NULL DEFAULT NULL,
|
|
`modified` DATETIME NULL DEFAULT NULL,
|
|
`modified_by` INT(10) UNSIGNED NULL DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `idx_alias` (`alias`)
|
|
) ENGINE=InnoDB DEFAULT COLLATE=utf8mb4_unicode_ci;
|
|
|