# ---------------------------------------------------------------------- #
# Script generated with: DeZign for Databases V7.3.4                     #
# Target DBMS:           MySQL 5                                         #
# Project file:          abliaDbComuni3.dez                              #
# Project name:          DB COMUNI - ABLIA                               #
# Author:                Andrea Colzi                                    #
# Script type:           Alter database script                           #
# Created on:            2015-03-20 15:34                                #
# ---------------------------------------------------------------------- #

drop table DESC_TXT_LANG;

# ---------------------------------------------------------------------- #
# Modify table "USERS"                                                   #
# ---------------------------------------------------------------------- #

DROP INDEX `TUC_USER_1` ON `USERS`;

DROP INDEX `TUC_USERS_1` ON `USERS`;

DROP INDEX `NAZIONE_USERS` ON `USERS`;

DROP INDEX `IDX_USERS_1` ON `USERS`;

DROP INDEX `CLIFOR_USERS` ON `USERS`;

# Remove autoinc for PK drop #

ALTER TABLE `USERS` MODIFY `id_users` INTEGER(11) NOT NULL;

ALTER TABLE `USERS` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `USERS` DROP PRIMARY KEY;

ALTER TABLE `USERS` DROP COLUMN `cap`;

ALTER TABLE `USERS` DROP COLUMN `citta`;

ALTER TABLE `USERS` DROP COLUMN `id_nazione`;

ALTER TABLE `USERS` DROP COLUMN `indirizzo`;

ALTER TABLE `USERS` DROP COLUMN `nominativo`;

ALTER TABLE `USERS` DROP COLUMN `numeroCivico`;

ALTER TABLE `USERS` DROP COLUMN `numeroCivicoSped`;

ALTER TABLE `USERS` DROP COLUMN `provincia`;

ALTER TABLE `USERS` DROP COLUMN `id_nazioneSped`;

ALTER TABLE `USERS` DROP COLUMN `id_nazioneFatt`;

ALTER TABLE `USERS` ADD COLUMN `flgOperatore` INTEGER;

ALTER TABLE `USERS` ADD COLUMN `flgNews` INTEGER;

ALTER TABLE `USERS` ADD COLUMN `imgProfilo` VARCHAR(30);

ALTER TABLE `USERS` ADD COLUMN `cittaNascita` VARCHAR(30);

ALTER TABLE `USERS` ADD COLUMN `provinciaNascita` VARCHAR(4);

ALTER TABLE `USERS` MODIFY `id_users` INTEGER NOT NULL;

ALTER TABLE `USERS` MODIFY `id_userProfile` INTEGER;

ALTER TABLE `USERS` MODIFY `login` VARCHAR(30) NOT NULL;

ALTER TABLE `USERS` MODIFY `pwd` VARCHAR(30);

ALTER TABLE `USERS` MODIFY `flgValido` CHAR(1);

ALTER TABLE `USERS` MODIFY `nome` VARCHAR(30);

ALTER TABLE `USERS` MODIFY `cognome` VARCHAR(30);

ALTER TABLE `USERS` MODIFY `eMail` VARCHAR(60);

ALTER TABLE `USERS` MODIFY `lang` CHAR(2);

ALTER TABLE `USERS` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `USERS` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `USERS` MODIFY `nota` TEXT;

ALTER TABLE `USERS` MODIFY `controlCode` VARCHAR(30);

ALTER TABLE `USERS` MODIFY `style` VARCHAR(60);

ALTER TABLE `USERS` MODIFY `capSped` VARCHAR(10);

ALTER TABLE `USERS` MODIFY `cittaSped` VARCHAR(30);

ALTER TABLE `USERS` MODIFY `codFisc` VARCHAR(16);

ALTER TABLE `USERS` MODIFY `fax` VARCHAR(30);

ALTER TABLE `USERS` MODIFY `flgMl` INTEGER;

ALTER TABLE `USERS` MODIFY `flgPrivComunicazione` INTEGER;

ALTER TABLE `USERS` MODIFY `flgPrivSensibili` INTEGER;

ALTER TABLE `USERS` MODIFY `flgPrivTrattamento` INTEGER;

ALTER TABLE `USERS` MODIFY `flgSesso` INTEGER;

ALTER TABLE `USERS` MODIFY `indirizzoSped` VARCHAR(60);

ALTER TABLE `USERS` MODIFY `langMl` CHAR(2);

ALTER TABLE `USERS` MODIFY `pIva` VARCHAR(15);

ALTER TABLE `USERS` MODIFY `presso` VARCHAR(60);

ALTER TABLE `USERS` MODIFY `provinciaSped` VARCHAR(30);

ALTER TABLE `USERS` MODIFY `telefono` VARCHAR(30);

ALTER TABLE `USERS` MODIFY `flgPresenza` INTEGER;

ALTER TABLE `USERS` MODIFY `id_postazione` INTEGER;

ALTER TABLE `USERS` MODIFY `currentIp` CHAR(60);

ALTER TABLE `USERS` MODIFY `createIp` CHAR(60);

ALTER TABLE `USERS` MODIFY `oldPwd` TEXT;

ALTER TABLE `USERS` MODIFY `pwdCrypt` VARCHAR(60);

ALTER TABLE `USERS` MODIFY `contatto` VARCHAR(30);

ALTER TABLE `USERS` MODIFY `flgChangeLog` INTEGER;

ALTER TABLE `USERS` MODIFY `id_clifor` INTEGER;

ALTER TABLE `USERS` MODIFY `login` VARCHAR(30) NOT NULL AFTER `id_users`;

ALTER TABLE `USERS` MODIFY `id_userProfile` INTEGER AFTER `login`;

ALTER TABLE `USERS` MODIFY `style` VARCHAR(60) AFTER `lang`;

ALTER TABLE `USERS` MODIFY `controlCode` VARCHAR(30) AFTER `style`;

ALTER TABLE `USERS` MODIFY `lastUpdId_user` INTEGER AFTER `controlCode`;

ALTER TABLE `USERS` MODIFY `lastUpdTmst` TIMESTAMP AFTER `lastUpdId_user`;

ALTER TABLE `USERS` MODIFY `flgPresenza` INTEGER AFTER `lastUpdTmst`;

ALTER TABLE `USERS` MODIFY `dataInserimento` DATE AFTER `flgPresenza`;

ALTER TABLE `USERS` MODIFY `id_postazione` INTEGER AFTER `dataInserimento`;

ALTER TABLE `USERS` MODIFY `currentIp` CHAR(60) AFTER `id_postazione`;

ALTER TABLE `USERS` MODIFY `createIp` CHAR(60) AFTER `currentIp`;

ALTER TABLE `USERS` MODIFY `dataCreazionePwd` DATE AFTER `createIp`;

ALTER TABLE `USERS` MODIFY `dataScadenzaPwd` DATE AFTER `dataCreazionePwd`;

ALTER TABLE `USERS` MODIFY `oldPwd` TEXT AFTER `dataScadenzaPwd`;

ALTER TABLE `USERS` MODIFY `pwdCrypt` VARCHAR(60) AFTER `oldPwd`;

ALTER TABLE `USERS` MODIFY `nota` TEXT AFTER `pwdCrypt`;

ALTER TABLE `USERS` MODIFY `capSped` VARCHAR(10) AFTER `nota`;

ALTER TABLE `USERS` MODIFY `cittaSped` VARCHAR(30) AFTER `capSped`;

ALTER TABLE `USERS` MODIFY `codFisc` VARCHAR(16) AFTER `cittaSped`;

ALTER TABLE `USERS` MODIFY `contatto` VARCHAR(30) AFTER `codFisc`;

ALTER TABLE `USERS` MODIFY `dataNascita` DATE AFTER `contatto`;

ALTER TABLE `USERS` MODIFY `flgMl` INTEGER AFTER `dataNascita`;

ALTER TABLE `USERS` MODIFY `flgPrivComunicazione` INTEGER AFTER `flgMl`;

ALTER TABLE `USERS` MODIFY `flgPrivSensibili` INTEGER AFTER `flgPrivComunicazione`;

ALTER TABLE `USERS` MODIFY `flgPrivTrattamento` INTEGER AFTER `flgPrivSensibili`;

ALTER TABLE `USERS` MODIFY `flgSesso` INTEGER AFTER `flgPrivTrattamento`;

ALTER TABLE `USERS` MODIFY `indirizzoSped` VARCHAR(60) AFTER `flgSesso`;

ALTER TABLE `USERS` MODIFY `langMl` CHAR(2) AFTER `indirizzoSped`;

ALTER TABLE `USERS` MODIFY `pIva` VARCHAR(15) AFTER `langMl`;

ALTER TABLE `USERS` MODIFY `presso` VARCHAR(60) AFTER `pIva`;

ALTER TABLE `USERS` MODIFY `provinciaSped` VARCHAR(30) AFTER `presso`;

ALTER TABLE `USERS` MODIFY `telefono` VARCHAR(30) AFTER `provinciaSped`;

ALTER TABLE `USERS` MODIFY `fax` VARCHAR(30) AFTER `telefono`;

ALTER TABLE `USERS` MODIFY `flgChangeLog` INTEGER AFTER `fax`;

ALTER TABLE `USERS` MODIFY `oraInserimento` TIME AFTER `flgChangeLog`;

ALTER TABLE `USERS` ADD CONSTRAINT `TUC_USERS_1` 
    UNIQUE (`login`);

ALTER TABLE `USERS` ADD CONSTRAINT `PK_USERS` 
    PRIMARY KEY (`id_users`);

ALTER TABLE `USERS` MODIFY `id_users` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_USERS_1` ON `USERS` (`login` ASC);

# ---------------------------------------------------------------------- #
# Modify table "USER_PROFILE"                                            #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `USER_PROFILE` MODIFY `id_userProfile` INTEGER(11) NOT NULL;

ALTER TABLE `USER_PROFILE` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `USER_PROFILE` DROP PRIMARY KEY;

ALTER TABLE `USER_PROFILE` MODIFY `id_userProfile` INTEGER NOT NULL;

ALTER TABLE `USER_PROFILE` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `USER_PROFILE` MODIFY `descrizione` VARCHAR(30);

ALTER TABLE `USER_PROFILE` MODIFY `policy` VARCHAR(30);

ALTER TABLE `USER_PROFILE` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `USER_PROFILE` MODIFY `descrizione` VARCHAR(30) AFTER `id_userProfile`;

ALTER TABLE `USER_PROFILE` MODIFY `policy` VARCHAR(30) AFTER `descrizione`;

ALTER TABLE `USER_PROFILE` MODIFY `lastUpdId_user` INTEGER AFTER `policy`;

ALTER TABLE `USER_PROFILE` ADD CONSTRAINT `PK_USER_PROFILE` 
    PRIMARY KEY (`id_userProfile`);

ALTER TABLE `USER_PROFILE` MODIFY `id_userProfile` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "ACCESS"                                                  #
# ---------------------------------------------------------------------- #

ALTER TABLE `ACCESS` ALTER COLUMN `id_access` DROP DEFAULT;

ALTER TABLE `ACCESS` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `ACCESS` DROP PRIMARY KEY;

ALTER TABLE `ACCESS` ADD COLUMN `flgSafeUpdate` INTEGER;

ALTER TABLE `ACCESS` ADD COLUMN `attrMaiuscoli` VARCHAR(1000);

ALTER TABLE `ACCESS` ADD COLUMN `attrMinuscoli` VARCHAR(1000);

ALTER TABLE `ACCESS` ADD COLUMN `attr1Maiuscoli` VARCHAR(1000);

ALTER TABLE `ACCESS` ADD COLUMN `flgTabella` INTEGER;

ALTER TABLE `ACCESS` ADD COLUMN `versione` VARCHAR(20);

ALTER TABLE `ACCESS` MODIFY `id_access` VARCHAR(30) NOT NULL;

ALTER TABLE `ACCESS` MODIFY `descrizione` VARCHAR(30);

ALTER TABLE `ACCESS` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `ACCESS` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `ACCESS` MODIFY `lastUpdId_user` INTEGER AFTER `descrizione`;

ALTER TABLE `ACCESS` MODIFY `lastUpdTmst` TIMESTAMP AFTER `lastUpdId_user`;

ALTER TABLE `ACCESS` ADD CONSTRAINT `PK_ACCESS` 
    PRIMARY KEY (`id_access`);

# ---------------------------------------------------------------------- #
# Modify table "USER_ACCESS"                                             #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_USER_ACCESS_1` ON `USER_ACCESS`;

DROP INDEX `IDX_USER_ACCESS_2` ON `USER_ACCESS`;

ALTER TABLE `USER_ACCESS` ALTER COLUMN `id_users` DROP DEFAULT;

ALTER TABLE `USER_ACCESS` ALTER COLUMN `id_access` DROP DEFAULT;

ALTER TABLE `USER_ACCESS` ALTER COLUMN `flgRW` DROP DEFAULT;

ALTER TABLE `USER_ACCESS` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `USER_ACCESS` DROP PRIMARY KEY;


ALTER TABLE `USER_ACCESS` MODIFY `id_users` INTEGER NOT NULL;

ALTER TABLE `USER_ACCESS` MODIFY `id_access` VARCHAR(30) NOT NULL;

ALTER TABLE `USER_ACCESS` MODIFY `flgRW` INTEGER DEFAULT 0;

ALTER TABLE `USER_ACCESS` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `USER_ACCESS` MODIFY `lastUpdId_user` INTEGER;

##ALTER TABLE `USER_ACCESS` ADD COLUMN `id_userAccess` INTEGER NOT NULL AUTO_INCREMENT FIRST;

ALTER TABLE `USER_ACCESS` MODIFY `lastUpdId_user` INTEGER AFTER `flgRW`;

ALTER TABLE `USER_ACCESS` MODIFY `lastUpdTmst` TIMESTAMP AFTER `lastUpdId_user`;

#ALTER TABLE `USER_ACCESS` ADD CONSTRAINT `PK_USER_ACCESS` 
#    PRIMARY KEY (`id_userAccess`);

CREATE UNIQUE INDEX `IDX_USER_ACCESS_1` ON `USER_ACCESS` (`id_users`,`id_access`);

# ---------------------------------------------------------------------- #
# Modify table "PARM"                                                    #
# ---------------------------------------------------------------------- #

DROP INDEX `codice` ON `PARM`;

# Remove autoinc for PK drop #

ALTER TABLE `PARM` MODIFY `id_parm` INTEGER(11) NOT NULL;

ALTER TABLE `PARM` ALTER COLUMN `flgAdmin` DROP DEFAULT;

ALTER TABLE `PARM` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `PARM` DROP PRIMARY KEY;

ALTER TABLE `PARM` MODIFY `id_parm` INTEGER NOT NULL;

ALTER TABLE `PARM` MODIFY `codice` VARCHAR(254) NOT NULL;

ALTER TABLE `PARM` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `PARM` MODIFY `testo` TEXT;

ALTER TABLE `PARM` MODIFY `tipoParm` VARCHAR(30);

ALTER TABLE `PARM` MODIFY `flgTipo` INTEGER;

ALTER TABLE `PARM` MODIFY `flgAdmin` INTEGER DEFAULT 0;

ALTER TABLE `PARM` MODIFY `nota` TEXT;

ALTER TABLE `PARM` MODIFY `coloreHex` VARCHAR(7);

ALTER TABLE `PARM` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `PARM` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `PARM` MODIFY `nota` TEXT AFTER `codice`;

ALTER TABLE `PARM` MODIFY `descrizione` VARCHAR(60) AFTER `nota`;

ALTER TABLE `PARM` MODIFY `testo` TEXT AFTER `descrizione`;

ALTER TABLE `PARM` MODIFY `numero` DECIMAL(18,4) AFTER `testo`;

ALTER TABLE `PARM` MODIFY `dataParm` DATE AFTER `numero`;

ALTER TABLE `PARM` MODIFY `ora` TIME AFTER `dataParm`;

ALTER TABLE `PARM` MODIFY `tipoParm` VARCHAR(30) AFTER `ora`;

ALTER TABLE `PARM` MODIFY `flgTipo` INTEGER AFTER `tipoParm`;

ALTER TABLE `PARM` MODIFY `flgAdmin` INTEGER DEFAULT 0 AFTER `flgTipo`;

ALTER TABLE `PARM` ADD CONSTRAINT `PK_PARM` 
    PRIMARY KEY (`id_parm`);

ALTER TABLE `PARM` MODIFY `id_parm` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `codice` ON `PARM` (`codice`);

# ---------------------------------------------------------------------- #
# Modify table "LOG"                                                     #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_LOG_1` ON `LOG`;

DROP INDEX `IDX_LOG_2` ON `LOG`;

# Remove autoinc for PK drop #

ALTER TABLE `LOG` MODIFY `id_log` INTEGER(11) NOT NULL;

ALTER TABLE `LOG` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `LOG` DROP PRIMARY KEY;

ALTER TABLE `LOG` MODIFY `id_log` INTEGER NOT NULL;

ALTER TABLE `LOG` MODIFY `id_users` INTEGER;

ALTER TABLE `LOG` MODIFY `id_blacklist` INTEGER;

ALTER TABLE `LOG` MODIFY `descrizione` VARCHAR(254);

ALTER TABLE `LOG` MODIFY `ipAddress` CHAR(60);

ALTER TABLE `LOG` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `LOG` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `LOG` MODIFY `flgMovimento` INTEGER;

ALTER TABLE `LOG` ADD CONSTRAINT `PK_LOG` 
    PRIMARY KEY (`id_log`);

ALTER TABLE `LOG` MODIFY `id_log` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "ACCESS_GROUP"                                            #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `ACCESS_GROUP` MODIFY `id_accessGroup` INTEGER(11) NOT NULL;

ALTER TABLE `ACCESS_GROUP` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `ACCESS_GROUP` DROP PRIMARY KEY;

ALTER TABLE `ACCESS_GROUP` MODIFY `id_accessGroup` INTEGER NOT NULL;

ALTER TABLE `ACCESS_GROUP` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `ACCESS_GROUP` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `ACCESS_GROUP` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `ACCESS_GROUP` ADD CONSTRAINT `PK_ACCESS_GROUP` 
    PRIMARY KEY (`id_accessGroup`);

ALTER TABLE `ACCESS_GROUP` MODIFY `id_accessGroup` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "USER_ACCESS_GROUP"                                       #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_USER_ACCESS_GROUP_1` ON `USER_ACCESS_GROUP`;

DROP INDEX `IDX_USER_ACCESS_GROUP_2` ON `USER_ACCESS_GROUP`;

DROP INDEX `IDX_USER_ACCESS_GROUP_3` ON `USER_ACCESS_GROUP`;

# Remove autoinc for PK drop #

ALTER TABLE `USER_ACCESS_GROUP` MODIFY `id_userAccessGroup` INTEGER(11) NOT NULL;

ALTER TABLE `USER_ACCESS_GROUP` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `USER_ACCESS_GROUP` DROP PRIMARY KEY;

ALTER TABLE `USER_ACCESS_GROUP` MODIFY `id_userAccessGroup` INTEGER NOT NULL;

ALTER TABLE `USER_ACCESS_GROUP` MODIFY `id_accessGroup` INTEGER NOT NULL;

ALTER TABLE `USER_ACCESS_GROUP` MODIFY `id_users` INTEGER NOT NULL;

ALTER TABLE `USER_ACCESS_GROUP` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `USER_ACCESS_GROUP` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `USER_ACCESS_GROUP` ADD CONSTRAINT `PK_USER_ACCESS_GROUP` 
    PRIMARY KEY (`id_userAccessGroup`);

ALTER TABLE `USER_ACCESS_GROUP` MODIFY `id_userAccessGroup` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_USER_ACCESS_GROUP_1` ON `USER_ACCESS_GROUP` (`id_users`,`id_accessGroup`);

# ---------------------------------------------------------------------- #
# Modify table "ACCESS_GROUP_ACCESS"                                     #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_ACCESS_GROUP_ACCESS_1` ON `ACCESS_GROUP_ACCESS`;

DROP INDEX `IDX_ACCESS_GROUP_ACCESS_2` ON `ACCESS_GROUP_ACCESS`;

DROP INDEX `IDX_ACCESS_GROUP_ACCESS_3` ON `ACCESS_GROUP_ACCESS`;

# Remove autoinc for PK drop #

ALTER TABLE `ACCESS_GROUP_ACCESS` MODIFY `id_accessGroupAccess` INTEGER(11) NOT NULL;

ALTER TABLE `ACCESS_GROUP_ACCESS` ALTER COLUMN `flgRW` DROP DEFAULT;

ALTER TABLE `ACCESS_GROUP_ACCESS` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `ACCESS_GROUP_ACCESS` DROP PRIMARY KEY;

ALTER TABLE `ACCESS_GROUP_ACCESS` MODIFY `id_accessGroupAccess` INTEGER NOT NULL;

ALTER TABLE `ACCESS_GROUP_ACCESS` MODIFY `flgRW` INTEGER DEFAULT 0;

ALTER TABLE `ACCESS_GROUP_ACCESS` MODIFY `id_access` VARCHAR(30) NOT NULL;

ALTER TABLE `ACCESS_GROUP_ACCESS` MODIFY `id_accessGroup` INTEGER NOT NULL;

ALTER TABLE `ACCESS_GROUP_ACCESS` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `ACCESS_GROUP_ACCESS` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `ACCESS_GROUP_ACCESS` ADD CONSTRAINT `PK_ACCESS_GROUP_ACCESS` 
    PRIMARY KEY (`id_accessGroupAccess`);

ALTER TABLE `ACCESS_GROUP_ACCESS` MODIFY `id_accessGroupAccess` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_ACCESS_GROUP_ACCESS_1` ON `ACCESS_GROUP_ACCESS` (`id_access` ASC,`id_accessGroup` ASC);

# ---------------------------------------------------------------------- #
# Add table "MARCA"                                                      #
# ---------------------------------------------------------------------- #

CREATE TABLE `MARCA` (
    `id_marca` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(60),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_MARCA` PRIMARY KEY (`id_marca`)
);

CREATE UNIQUE INDEX `IDX_MARCA_1` ON `MARCA` (`descrizione` ASC);

# ---------------------------------------------------------------------- #
# Modify table "REPARTO"                                                 #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_REPARTO_1` ON `REPARTO`;

DROP INDEX `IDX_REPARTO_2` ON `REPARTO`;

# Remove autoinc for PK drop #

ALTER TABLE `REPARTO` MODIFY `id_reparto` INTEGER(11) NOT NULL;

ALTER TABLE `REPARTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `REPARTO` DROP PRIMARY KEY;

ALTER TABLE `REPARTO` ADD COLUMN `siglaEpson` INTEGER;

ALTER TABLE `REPARTO` MODIFY `id_reparto` INTEGER NOT NULL;

ALTER TABLE `REPARTO` MODIFY `sigla` VARCHAR(16);

ALTER TABLE `REPARTO` MODIFY `descrizione_it` VARCHAR(60);

ALTER TABLE `REPARTO` MODIFY `descrizione_en` VARCHAR(60);

ALTER TABLE `REPARTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `REPARTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `REPARTO` MODIFY `id_iva` INTEGER;

ALTER TABLE `REPARTO` ADD CONSTRAINT `PK_REPARTO` 
    PRIMARY KEY (`id_reparto`);

ALTER TABLE `REPARTO` MODIFY `id_reparto` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_REPARTO_1` ON `REPARTO` (`sigla` ASC);

CREATE INDEX `IDX_REPARTO_2` ON `REPARTO` (`id_iva`);

# ---------------------------------------------------------------------- #
# Modify table "ARTICOLO"                                                #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_ARTICOLO_4` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_1` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_2` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_3` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_5` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_6` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_7` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_8` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_9` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_10` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_11` ON `ARTICOLO`;

DROP INDEX `IDX_ARTICOLO_12` ON `ARTICOLO`;

# Remove autoinc for PK drop #

ALTER TABLE `ARTICOLO` MODIFY `id_articolo` INTEGER(11) NOT NULL;

ALTER TABLE `ARTICOLO` ALTER COLUMN `flgNascondi` DROP DEFAULT;

ALTER TABLE `ARTICOLO` ALTER COLUMN `flgStockOfferte` DROP DEFAULT;

ALTER TABLE `ARTICOLO` ALTER COLUMN `ordine` DROP DEFAULT;

ALTER TABLE `ARTICOLO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `ARTICOLO` DROP PRIMARY KEY;

ALTER TABLE `ARTICOLO` DROP COLUMN `descrizioneCommeciale_it`;

ALTER TABLE `ARTICOLO` DROP COLUMN `flgUdm`;

ALTER TABLE `ARTICOLO` DROP COLUMN `flgVetrina`;

ALTER TABLE `ARTICOLO` ADD COLUMN `descrizioneCommerciale_it` TEXT;

ALTER TABLE `ARTICOLO` ADD COLUMN `flgRC` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `flgNoListino` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `costoSpedizione` DECIMAL(18,4);

ALTER TABLE `ARTICOLO` ADD COLUMN `id_tipoAccessorio` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `descrizioneVetrina_it` TEXT;

ALTER TABLE `ARTICOLO` ADD COLUMN `descrizioneVetrina_en` TEXT;

ALTER TABLE `ARTICOLO` ADD COLUMN `dataAggQuantita` DATE;

ALTER TABLE `ARTICOLO` ADD COLUMN `flgEscludiWebArt` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `id_vetrina` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `prezzoOfferta` DECIMAL(18,4);

ALTER TABLE `ARTICOLO` ADD COLUMN `altezzaMinima` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `massaLineare` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `codiceDoganale` VARCHAR(30);

ALTER TABLE `ARTICOLO` ADD COLUMN `lavaggio` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `candeggio` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `stiratura` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `asciugatura` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `pulituraSecco` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `flgNoListinoArt` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `seoDesc` TEXT;

ALTER TABLE `ARTICOLO` ADD COLUMN `seoH1` VARCHAR(254);

ALTER TABLE `ARTICOLO` ADD COLUMN `seoTitle` VARCHAR(254);

ALTER TABLE `ARTICOLO` ADD COLUMN `flgTipoMagazzino` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `flgDispo` INTEGER;

ALTER TABLE `ARTICOLO` ADD COLUMN `abbuonoPrezzoPubblico` DECIMAL(18,4);

ALTER TABLE `ARTICOLO` ADD COLUMN `quantitaMagazzinoMovimentoHtml` VARCHAR(254);

ALTER TABLE `ARTICOLO` ADD COLUMN `quantitaW` DOUBLE;

ALTER TABLE `ARTICOLO` ADD COLUMN `quantitaImpegnata` DOUBLE;

ALTER TABLE `ARTICOLO` ADD COLUMN `quantitaInArrivo` DOUBLE;

ALTER TABLE `ARTICOLO` ADD COLUMN `quantitaCalcolate` BOOL;

ALTER TABLE `ARTICOLO` MODIFY `id_articolo` INTEGER NOT NULL;

ALTER TABLE `ARTICOLO` MODIFY `id_iva` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `id_tipo` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `id_marca` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `id_colore` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `id_articoloVarianteBase` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `id_tipoTaglia` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `id_tabellaTaglia` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `codice` VARCHAR(30);

ALTER TABLE `ARTICOLO` MODIFY `codiceProduttore` VARCHAR(30);

ALTER TABLE `ARTICOLO` MODIFY `codiciAlternativi` VARCHAR(254);

ALTER TABLE `ARTICOLO` MODIFY `nome` VARCHAR(60) NOT NULL;

ALTER TABLE `ARTICOLO` MODIFY `descrizione_it` VARCHAR(60);

ALTER TABLE `ARTICOLO` MODIFY `descrizione_en` VARCHAR(60);

ALTER TABLE `ARTICOLO` MODIFY `descrizioneCommerciale_en` TEXT;

ALTER TABLE `ARTICOLO` MODIFY `descrizioneTecnica_it` TEXT;

ALTER TABLE `ARTICOLO` MODIFY `descrizioneTecnica_en` TEXT;

ALTER TABLE `ARTICOLO` MODIFY `flgObsoleto` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `flgNascondi` INTEGER DEFAULT 0;

ALTER TABLE `ARTICOLO` MODIFY `flgStato` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `flgStockOfferte` CHAR(1) DEFAULT '0';

ALTER TABLE `ARTICOLO` MODIFY `ordine` INTEGER DEFAULT 0;

ALTER TABLE `ARTICOLO` MODIFY `imgTmst` CHAR(16);

ALTER TABLE `ARTICOLO` MODIFY `mesigar` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `pesoKg` DECIMAL;

ALTER TABLE `ARTICOLO` MODIFY `volumeCm3` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `descSearch` VARCHAR(254);

ALTER TABLE `ARTICOLO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `ARTICOLO` MODIFY `priorita` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `flgUsaVarianti` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `flgStampaEtichette` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `flgUsaVariantiArt` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `altreCompatibilita` VARCHAR(1000);

ALTER TABLE `ARTICOLO` MODIFY `flgSerialiMassivi` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `compatibilita` VARCHAR(1000);

ALTER TABLE `ARTICOLO` MODIFY `flgStampaAccessori` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `flgNegativo` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `caratteristiche` VARCHAR(254);

ALTER TABLE `ARTICOLO` MODIFY `flgServizio` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `flgEscludiWeb` INTEGER;

ALTER TABLE `ARTICOLO` MODIFY `descrizioneCommerciale_it` TEXT AFTER `descrizione_en`;

ALTER TABLE `ARTICOLO` MODIFY `flgRC` INTEGER AFTER `flgServizio`;

ALTER TABLE `ARTICOLO` MODIFY `flgNoListino` INTEGER AFTER `flgRC`;

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `PK_ARTICOLO` 
    PRIMARY KEY (`id_articolo`);

ALTER TABLE `ARTICOLO` MODIFY `id_articolo` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_ARTICOLO_4` ON `ARTICOLO` (`codice` ASC);

CREATE INDEX `IDX_ARTICOLO_1` ON `ARTICOLO` (`id_marca`);

CREATE INDEX `IDX_ARTICOLO_2` ON `ARTICOLO` (`id_colore`);

CREATE INDEX `IDX_ARTICOLO_3` ON `ARTICOLO` (`id_tipo`);

CREATE INDEX `IDX_ARTICOLO_5` ON `ARTICOLO` (`id_iva`);

CREATE INDEX `IDX_ARTICOLO_6` ON `ARTICOLO` (`id_tipoTaglia`);

CREATE INDEX `IDX_ARTICOLO_7` ON `ARTICOLO` (`id_articoloVarianteBase`);

CREATE INDEX `IDX_ARTICOLO_8` ON `ARTICOLO` (`id_tabellaTaglia`);

CREATE INDEX `IDX_ARTICOLO_9` ON `ARTICOLO` (`descrizione_it` ASC);

CREATE INDEX `IDX_ARTICOLO_10` ON `ARTICOLO` (`codiceProduttore` ASC);

CREATE INDEX `IDX_ARTICOLO_11` ON `ARTICOLO` (`codiciAlternativi` ASC);

# ---------------------------------------------------------------------- #
# Add table "COLORE"                                                     #
# ---------------------------------------------------------------------- #

CREATE TABLE `COLORE` (
    `id_colore` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(30),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_COLORE` PRIMARY KEY (`id_colore`)
);

CREATE UNIQUE INDEX `IDX_COLORE_1` ON `COLORE` (`descrizione` ASC);

# ---------------------------------------------------------------------- #
# Modify table "CLIFOR"                                                  #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_CLIFOR_1` ON `CLIFOR`;

DROP INDEX `IDX_CLIFOR_2` ON `CLIFOR`;

DROP INDEX `IDX_CLIFOR_3` ON `CLIFOR`;

DROP INDEX `IDX_CLIFOR_4` ON `CLIFOR`;

DROP INDEX `IDX_CLIFOR_5` ON `CLIFOR`;

DROP INDEX `IDX_CLIFOR_6` ON `CLIFOR`;

# Remove autoinc for PK drop #

ALTER TABLE `CLIFOR` MODIFY `id_clifor` INTEGER(11) NOT NULL;

ALTER TABLE `CLIFOR` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `CLIFOR` DROP PRIMARY KEY;

ALTER TABLE `CLIFOR` ADD COLUMN `flgRC` INTEGER;

ALTER TABLE `CLIFOR` ADD COLUMN `telefonoAmm` VARCHAR(30);

ALTER TABLE `CLIFOR` ADD COLUMN `cellulareAmm` VARCHAR(30);

ALTER TABLE `CLIFOR` ADD COLUMN `eMailAmm` VARCHAR(60);

ALTER TABLE `CLIFOR` ADD COLUMN `telefonoAltro` VARCHAR(30);

ALTER TABLE `CLIFOR` ADD COLUMN `cellulareAltro` VARCHAR(30);

ALTER TABLE `CLIFOR` ADD COLUMN `eMailAltro` VARCHAR(60);

ALTER TABLE `CLIFOR` ADD COLUMN `descrizioneAltroContatto` VARCHAR(60);

ALTER TABLE `CLIFOR` ADD COLUMN `numeroDocumento` VARCHAR(30);

ALTER TABLE `CLIFOR` ADD COLUMN `dataScadenzaDocumento` DATE;

ALTER TABLE `CLIFOR` ADD COLUMN `percProvvigione` DECIMAL(5,2);

ALTER TABLE `CLIFOR` ADD COLUMN `flgDocumentoVerificato` INTEGER;

ALTER TABLE `CLIFOR` ADD COLUMN `notePerCliente` TEXT;

ALTER TABLE `CLIFOR` ADD COLUMN `flgNascondiWeb` INTEGER;

ALTER TABLE `CLIFOR` ADD COLUMN `zona` VARCHAR(60);

ALTER TABLE `CLIFOR` MODIFY `id_clifor` INTEGER NOT NULL;

ALTER TABLE `CLIFOR` MODIFY `id_tipoPagamento` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `codiceAlt` VARCHAR(16);

ALTER TABLE `CLIFOR` MODIFY `flgValido` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `flgTipo` CHAR(1);

ALTER TABLE `CLIFOR` MODIFY `flgAzienda` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `nominativo` VARCHAR(254);

ALTER TABLE `CLIFOR` MODIFY `cognome` VARCHAR(254);

ALTER TABLE `CLIFOR` MODIFY `contatto` VARCHAR(60);

ALTER TABLE `CLIFOR` MODIFY `nome` VARCHAR(60);

ALTER TABLE `CLIFOR` MODIFY `indirizzo` VARCHAR(60);

ALTER TABLE `CLIFOR` MODIFY `numeroCivico` VARCHAR(30);

ALTER TABLE `CLIFOR` MODIFY `id_comune` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `id_nazione` CHAR(4);

ALTER TABLE `CLIFOR` MODIFY `id_comuneNascita` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `codFisc` VARCHAR(16);

ALTER TABLE `CLIFOR` MODIFY `pIva` CHAR(11);

ALTER TABLE `CLIFOR` MODIFY `eMail` VARCHAR(254);

ALTER TABLE `CLIFOR` MODIFY `fax` VARCHAR(30);

ALTER TABLE `CLIFOR` MODIFY `telefono` VARCHAR(30);

ALTER TABLE `CLIFOR` MODIFY `nota` TEXT;

ALTER TABLE `CLIFOR` MODIFY `imgTmst` CHAR(16);

ALTER TABLE `CLIFOR` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `CLIFOR` MODIFY `flgPrivComunicazione` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `flgPrivSensibili` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `flgPrivTrattamento` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `flgSesso` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `dichiarazioneIntento` VARCHAR(30);

ALTER TABLE `CLIFOR` MODIFY `flgArt8` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `id_listino` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `iban` CHAR(27);

ALTER TABLE `CLIFOR` MODIFY `capZona` VARCHAR(10);

ALTER TABLE `CLIFOR` MODIFY `www` VARCHAR(60);

ALTER TABLE `CLIFOR` MODIFY `cellulare` VARCHAR(30);

ALTER TABLE `CLIFOR` MODIFY `banca` VARCHAR(60);

ALTER TABLE `CLIFOR` MODIFY `flgMl` INTEGER;

ALTER TABLE `CLIFOR` MODIFY `descrizioneComune` VARCHAR(60);

ALTER TABLE `CLIFOR` MODIFY `provinciaComune` CHAR(30);

ALTER TABLE `CLIFOR` MODIFY `capComune` CHAR(10);

ALTER TABLE `CLIFOR` MODIFY `codiceCartaFidelity` VARCHAR(30);

ALTER TABLE `CLIFOR` MODIFY `descrizioneComuneNascita` VARCHAR(60);

ALTER TABLE `CLIFOR` MODIFY `flgRC` INTEGER AFTER `capComune`;

ALTER TABLE `CLIFOR` ADD CONSTRAINT `PK_CLIFOR` 
    PRIMARY KEY (`id_clifor`);

ALTER TABLE `CLIFOR` MODIFY `id_clifor` INTEGER NOT NULL AUTO_INCREMENT;

#CREATE UNIQUE INDEX `IDX_CLIFOR_7` ON `CLIFOR` (`codFisc`,`flgTipo`);

#CREATE UNIQUE INDEX `IDX_CLIFOR_8` ON `CLIFOR` (`pIva`,`flgTipo`);

CREATE UNIQUE INDEX `IDX_CLIFOR_1` ON `CLIFOR` (`codiceAlt` ASC);

CREATE INDEX `IDX_CLIFOR_2` ON `CLIFOR` (`id_tipoPagamento`);

CREATE INDEX `IDX_CLIFOR_3` ON `CLIFOR` (`id_nazione`);

CREATE INDEX `IDX_CLIFOR_4` ON `CLIFOR` (`id_comune`);

CREATE INDEX `IDX_CLIFOR_5` ON `CLIFOR` (`id_comuneNascita`);

CREATE INDEX `IDX_CLIFOR_6` ON `CLIFOR` (`id_listino`);

# ---------------------------------------------------------------------- #
# Add table "CARATTERISTICA"                                             #
# ---------------------------------------------------------------------- #

CREATE TABLE `CARATTERISTICA` (
    `id_caratteristica` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione_it` VARCHAR(60),
    `descrizione_en` VARCHAR(60),
    `flgTipoVal` INTEGER,
    `flgCR` INTEGER DEFAULT 0,
    `ordine` INTEGER,
    `codiceAggiuntivo` VARCHAR(30),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `flgRicercaWeb` INTEGER,
    CONSTRAINT `PK_CARATTERISTICA` PRIMARY KEY (`id_caratteristica`)
);

CREATE INDEX `IDX_CARATTERISTICA_1` ON `CARATTERISTICA` (`codiceAggiuntivo` ASC);

# ---------------------------------------------------------------------- #
# Add table "CARATTERISTICA_ARTICOLO"                                    #
# ---------------------------------------------------------------------- #

CREATE TABLE `CARATTERISTICA_ARTICOLO` (
    `id_articolo` INTEGER NOT NULL,
    `id_caratteristica` INTEGER NOT NULL,
    `valI` INTEGER,
    `valS` VARCHAR(60),
    `valSN` INTEGER,
    `valD` DATE,
    `id_lista` INTEGER,
    `valDouble` DECIMAL(18,4),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_CARATTERISTICA_ARTICOLO` PRIMARY KEY (`id_articolo`, `id_caratteristica`)
);

CREATE INDEX `IDX_CARATTERISTICA_ARTICOLO_1` ON `CARATTERISTICA_ARTICOLO` (`id_caratteristica`);

CREATE INDEX `IDX_CARATTERISTICA_ARTICOLO_2` ON `CARATTERISTICA_ARTICOLO` (`id_lista`);

CREATE INDEX `IDX_CARATTERISTICA_ARTICOLO_3` ON `CARATTERISTICA_ARTICOLO` (`id_articolo`);

# ---------------------------------------------------------------------- #
# Add table "LISTA"                                                      #
# ---------------------------------------------------------------------- #

CREATE TABLE `LISTA` (
    `id_lista` INTEGER NOT NULL AUTO_INCREMENT,
    `id_caratteristica` INTEGER,
    `valore` VARCHAR(60),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_LISTA` PRIMARY KEY (`id_lista`)
);

CREATE INDEX `IDX_LISTA_1` ON `LISTA` (`id_caratteristica`);

# ---------------------------------------------------------------------- #
# Modify table "TIPO"                                                    #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_TIPO_INDICI` ON `TIPO`;

ALTER TABLE `TIPO` DROP COLUMN `descrizioneAggiuntiva`;

ALTER TABLE `TIPO` ADD COLUMN `descrizioneAggiuntiva_it` TEXT;

ALTER TABLE `TIPO` ADD COLUMN `flgRC` INTEGER;

ALTER TABLE `TIPO` ADD COLUMN `costoSpedizione` DECIMAL(18,4);

ALTER TABLE `TIPO` ADD COLUMN `imgTmst` CHAR(16);

ALTER TABLE `TIPO` ADD COLUMN `descrizioneAggiuntiva_en` TEXT;

ALTER TABLE `TIPO` ADD COLUMN `descrizioneAggiuntiva_fr` TEXT;

ALTER TABLE `TIPO` ADD COLUMN `descrizioneAggiuntiva_de` TEXT;

ALTER TABLE `TIPO` ADD COLUMN `flgStampaBarcode` INTEGER;

ALTER TABLE `TIPO` ADD COLUMN `id_tipoTaglia` INTEGER;

ALTER TABLE `TIPO` ADD COLUMN `flgUsaTaglia` INTEGER;

ALTER TABLE `TIPO` ADD COLUMN `seoTitle` VARCHAR(254);

ALTER TABLE `TIPO` ADD COLUMN `seoDesc` TEXT;

ALTER TABLE `TIPO` ADD COLUMN `seoH1` VARCHAR(254);

ALTER TABLE `TIPO` ADD COLUMN `id_tipologiaArticolo` INTEGER;

ALTER TABLE `TIPO` MODIFY `indici` VARCHAR(767);

ALTER TABLE `TIPO` MODIFY `descrizioneCompleta` VARCHAR(254);

ALTER TABLE `TIPO` MODIFY `flgNoListino` INTEGER;

ALTER TABLE `TIPO` MODIFY `flgEscludiWeb` INTEGER;

ALTER TABLE `TIPO` MODIFY `descrizioneAggiuntiva_it` TEXT AFTER `descrizione`;

ALTER TABLE `TIPO` MODIFY `flgRC` INTEGER AFTER `descrizioneCompleta`;

ALTER TABLE `TIPO` MODIFY `flgEscludiWeb` INTEGER AFTER `flgRC`;

ALTER TABLE `TIPO` MODIFY `costoSpedizione` DECIMAL(18,4) AFTER `flgEscludiWeb`;

ALTER TABLE `TIPO` MODIFY `imgTmst` CHAR(16) AFTER `costoSpedizione`;

ALTER TABLE `TIPO` MODIFY `descrizioneAggiuntiva_en` TEXT AFTER `imgTmst`;

ALTER TABLE `TIPO` MODIFY `descrizioneAggiuntiva_fr` TEXT AFTER `descrizioneAggiuntiva_en`;

ALTER TABLE `TIPO` MODIFY `descrizioneAggiuntiva_de` TEXT AFTER `descrizioneAggiuntiva_fr`;

ALTER TABLE `TIPO` MODIFY `flgStampaBarcode` INTEGER AFTER `descrizioneAggiuntiva_de`;

ALTER TABLE `TIPO` MODIFY `id_tipoTaglia` INTEGER AFTER `flgStampaBarcode`;

ALTER TABLE `TIPO` MODIFY `flgUsaTaglia` INTEGER AFTER `id_tipoTaglia`;

ALTER TABLE `TIPO` MODIFY `flgNoListino` INTEGER AFTER `flgUsaTaglia`;

CREATE INDEX `IDX_TIPO_INDICI` ON `TIPO` (`indici`);

# ---------------------------------------------------------------------- #
# Add table "C_TIPO"                                                     #
# ---------------------------------------------------------------------- #

CREATE TABLE `C_TIPO` (
    `id_tipo` INTEGER NOT NULL,
    `id_caratteristica` INTEGER NOT NULL,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_C_TIPO` PRIMARY KEY (`id_tipo`, `id_caratteristica`)
);

CREATE INDEX `IDX_C_TIPO_1` ON `C_TIPO` (`id_tipo`);

CREATE INDEX `IDX_C_TIPO_2` ON `C_TIPO` (`id_caratteristica`);

# ---------------------------------------------------------------------- #
# Add table "ACCESSORIO"                                                 #
# ---------------------------------------------------------------------- #

CREATE TABLE `ACCESSORIO` (
    `id_accessorio` INTEGER NOT NULL AUTO_INCREMENT,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `id_tipoAccessorio` INTEGER,
    `id_articoloAssociato` INTEGER,
    `id_articolo` INTEGER,
    `id_articoloVarianteAssociato` INTEGER,
    `id_articoloVariante` INTEGER,
    `flgEstendiVariante` INTEGER,
    CONSTRAINT `PK_ACCESSORIO` PRIMARY KEY (`id_accessorio`)
);

CREATE INDEX `IDX_ACCESSORIO_1` ON `ACCESSORIO` (`id_tipoAccessorio` ASC);

CREATE INDEX `IDX_ACCESSORIO_2` ON `ACCESSORIO` (`id_articoloAssociato`);

CREATE INDEX `IDX_ACCESSORIO_3` ON `ACCESSORIO` (`id_articolo`);

CREATE INDEX `IDX_ACCESSORIO_4` ON `ACCESSORIO` (`id_articoloVarianteAssociato`);

CREATE INDEX `IDX_ACCESSORIO_5` ON `ACCESSORIO` (`id_articoloVariante`);

CREATE UNIQUE INDEX `IDX_ACCESSORIO_6` ON `ACCESSORIO` (`id_tipoAccessorio`,`id_articolo`,`id_articoloAssociato`,`id_articoloVariante`,`id_articoloVarianteAssociato`);

# ---------------------------------------------------------------------- #
# Add table "TIPO_ACCESSORIO"                                            #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPO_ACCESSORIO` (
    `id_tipoAccessorio` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione_it` VARCHAR(60),
    `descrizione_en` VARCHAR(60),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `flgDirezione` INTEGER,
    CONSTRAINT `PK_TIPO_ACCESSORIO` PRIMARY KEY (`id_tipoAccessorio`)
);

# ---------------------------------------------------------------------- #
# Modify table "DOCUMENTO"                                               #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_DOCUMENTO_1` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_2` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_3` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_4` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_5` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_6` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_7` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_8` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_9` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_10` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_11` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_12` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_13` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_14` ON `DOCUMENTO`;

DROP INDEX `IDX_DOCUMENTO_15` ON `DOCUMENTO`;

DROP INDEX `PORTO_DOCUMENTO` ON `DOCUMENTO`;

DROP INDEX `CONTATORE_DOCUMENTO` ON `DOCUMENTO`;

DROP INDEX `IVA_DOCUMENTO` ON `DOCUMENTO`;

# Remove autoinc for PK drop #

ALTER TABLE `DOCUMENTO` MODIFY `id_documento` INTEGER(11) NOT NULL;

ALTER TABLE `DOCUMENTO` ALTER COLUMN `progDocumentoAgg` DROP DEFAULT;

ALTER TABLE `DOCUMENTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `DOCUMENTO` DROP PRIMARY KEY;

ALTER TABLE `DOCUMENTO` DROP COLUMN `id_usersWww`;

ALTER TABLE `DOCUMENTO` ADD COLUMN `id_cliforListino` INTEGER;

ALTER TABLE `DOCUMENTO` ADD COLUMN `id_documentoXpay` INTEGER;

ALTER TABLE `DOCUMENTO` ADD COLUMN `flgRitiroNegozio` INTEGER;

ALTER TABLE `DOCUMENTO` ADD COLUMN `logRecord` TEXT;

ALTER TABLE `DOCUMENTO` ADD COLUMN `id_magFisicoPartenza` INTEGER;

ALTER TABLE `DOCUMENTO` ADD COLUMN `id_magFisicoArrivo` INTEGER;

ALTER TABLE `DOCUMENTO` ADD COLUMN `dataDownload` DATE;

ALTER TABLE `DOCUMENTO` ADD COLUMN `ipDownload` VARCHAR(254);

ALTER TABLE `DOCUMENTO` ADD COLUMN `flgDownload` INTEGER;

ALTER TABLE `DOCUMENTO` ADD COLUMN `tmstStampato` VARCHAR(60);

ALTER TABLE `DOCUMENTO` ADD COLUMN `oraDownload` TIME;

ALTER TABLE `DOCUMENTO` ADD COLUMN `bic` VARCHAR(30);

ALTER TABLE `DOCUMENTO` MODIFY `id_documento` INTEGER NOT NULL;

ALTER TABLE `DOCUMENTO` MODIFY `id_tipoDocumento` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `id_clifor` INTEGER NOT NULL;

ALTER TABLE `DOCUMENTO` MODIFY `id_vettore` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `id_tipoPagamento` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgPagamentoDataFissa` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgSys` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgStato` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `progDocumento` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `progDocumentoAgg` CHAR(6) DEFAULT '';

ALTER TABLE `DOCUMENTO` MODIFY `id_esercizio` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `id_contatore` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `riferimento` VARCHAR(30);

ALTER TABLE `DOCUMENTO` MODIFY `flgTipoDocumento` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `DOCUMENTO` MODIFY `dichiarazioneIntento` VARCHAR(30);

ALTER TABLE `DOCUMENTO` MODIFY `flgArt8` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgPagata` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgExport` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgTrasporto` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `nColli` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgTrasportoAssicurato` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `notaSpedizione` VARCHAR(254);

ALTER TABLE `DOCUMENTO` MODIFY `descSpeseAltre` VARCHAR(60);

ALTER TABLE `DOCUMENTO` MODIFY `id_aspetto` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `note` TEXT;

ALTER TABLE `DOCUMENTO` MODIFY `id_documentoFiglio` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgEmettiFatturaScontrino` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `echoScontrino` VARCHAR(30);

ALTER TABLE `DOCUMENTO` MODIFY `presso` VARCHAR(60);

ALTER TABLE `DOCUMENTO` MODIFY `id_comuneSped` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `indirizzoSped` VARCHAR(60);

ALTER TABLE `DOCUMENTO` MODIFY `numeroCivicoSped` VARCHAR(10);

ALTER TABLE `DOCUMENTO` MODIFY `flgDocumentoPrelevato` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgStatoPrenotazione` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `id_causaleTrasporto` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `banca` VARCHAR(60);

ALTER TABLE `DOCUMENTO` MODIFY `iban` CHAR(27);

ALTER TABLE `DOCUMENTO` MODIFY `notePagamento` VARCHAR(60);

ALTER TABLE `DOCUMENTO` MODIFY `id_destinazioneDiversa` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `nominativoDocumento` VARCHAR(254);

ALTER TABLE `DOCUMENTO` MODIFY `telDocumento` VARCHAR(30);

ALTER TABLE `DOCUMENTO` MODIFY `eMailDocumento` VARCHAR(254);

ALTER TABLE `DOCUMENTO` MODIFY `flgInviaAvviso` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgHaDocumentoPadre` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgStatoRiparazione` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgInGaranzia` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `descrizioneDifetto` TEXT;

ALTER TABLE `DOCUMENTO` MODIFY `interventoEffettuato` TEXT;

ALTER TABLE `DOCUMENTO` MODIFY `flgPreventivo` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `notaAggiuntiva` TEXT;

ALTER TABLE `DOCUMENTO` MODIFY `descrizionePreventivo` TEXT;

ALTER TABLE `DOCUMENTO` MODIFY `faxDocumento` VARCHAR(30);

ALTER TABLE `DOCUMENTO` MODIFY `cellDocumento` VARCHAR(60);

ALTER TABLE `DOCUMENTO` MODIFY `id_usersIntervento` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `id_usersChiusura` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `id_users` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `id_porto` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `progDocumentoB` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `progDocumentiAggB` CHAR(6);

ALTER TABLE `DOCUMENTO` MODIFY `id_esercizioB` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgTipoMovimento` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `id_ivaDoc` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `descTransaction` VARCHAR(60);

ALTER TABLE `DOCUMENTO` MODIFY `flgProcediPagamento` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `flgStatoOrdineWww` INTEGER;

ALTER TABLE `DOCUMENTO` MODIFY `id_cliforListino` INTEGER AFTER `flgTipoMovimento`;

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `PK_DOCUMENTO` 
    PRIMARY KEY (`id_documento`);

ALTER TABLE `DOCUMENTO` MODIFY `id_documento` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_DOCUMENTO_16` ON `DOCUMENTO` (`id_documentoXpay`);

CREATE UNIQUE INDEX `IDX_DOCUMENTO_1` ON `DOCUMENTO` (`progDocumento` ASC,`id_contatore` ASC,`id_esercizio` ASC,`flgStato` ASC,`progDocumentoAgg` ASC);

CREATE INDEX `IDX_DOCUMENTO_2` ON `DOCUMENTO` (`id_tipoDocumento`);

CREATE INDEX `IDX_DOCUMENTO_3` ON `DOCUMENTO` (`id_vettore`);

CREATE INDEX `IDX_DOCUMENTO_4` ON `DOCUMENTO` (`id_tipoPagamento`);

CREATE INDEX `IDX_DOCUMENTO_5` ON `DOCUMENTO` (`id_clifor`);

CREATE INDEX `IDX_DOCUMENTO_6` ON `DOCUMENTO` (`id_aspetto`);

CREATE INDEX `IDX_DOCUMENTO_7` ON `DOCUMENTO` (`id_esercizio`);

CREATE INDEX `IDX_DOCUMENTO_8` ON `DOCUMENTO` (`id_documentoFiglio`);

CREATE INDEX `IDX_DOCUMENTO_9` ON `DOCUMENTO` (`id_comuneSped`);

CREATE INDEX `IDX_DOCUMENTO_10` ON `DOCUMENTO` (`id_causaleTrasporto`);

CREATE INDEX `IDX_DOCUMENTO_11` ON `DOCUMENTO` (`id_destinazioneDiversa`);

CREATE INDEX `IDX_DOCUMENTO_12` ON `DOCUMENTO` (`id_usersIntervento`);

CREATE INDEX `IDX_DOCUMENTO_13` ON `DOCUMENTO` (`id_usersChiusura`);

CREATE INDEX `IDX_DOCUMENTO_14` ON `DOCUMENTO` (`id_users`);

CREATE INDEX `IDX_DOCUMENTO_15` ON `DOCUMENTO` (`progDocumento` ASC);

# ---------------------------------------------------------------------- #
# Modify table "RIGA_DOCUMENTO"                                          #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_RIGA_DOCUMENTO_1` ON `RIGA_DOCUMENTO`;

DROP INDEX `IDX_RIGA_DOCUMENTO_2` ON `RIGA_DOCUMENTO`;

DROP INDEX `IDX_RIGA_DOCUMENTO_3` ON `RIGA_DOCUMENTO`;

DROP INDEX `IDX_RIGA_DOCUMENTO_4` ON `RIGA_DOCUMENTO`;

DROP INDEX `IDX_RIGA_DOCUMENTO_5` ON `RIGA_DOCUMENTO`;

DROP INDEX `IDX_RIGA_DOCUMENTO_6` ON `RIGA_DOCUMENTO`;

DROP INDEX `IDX_RIGA_DOCUMENTO_7` ON `RIGA_DOCUMENTO`;

DROP INDEX `DOCUMENTOpadre_RIGA_DOCUMENTO` ON `RIGA_DOCUMENTO`;

# Remove autoinc for PK drop #

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `id_rigaDocumento` INTEGER(11) NOT NULL;

ALTER TABLE `RIGA_DOCUMENTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `RIGA_DOCUMENTO` DROP PRIMARY KEY;

ALTER TABLE `RIGA_DOCUMENTO` DROP COLUMN `id_magFisico`;

ALTER TABLE `RIGA_DOCUMENTO` DROP COLUMN `id_taglia`;

ALTER TABLE `RIGA_DOCUMENTO` DROP COLUMN `flgUdm`;

ALTER TABLE `RIGA_DOCUMENTO` DROP COLUMN `flgStampaSlip`;

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `serialeSost` VARCHAR(30);

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `notaBarcode` VARCHAR(60);

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `id_rigaDocumentoPadre` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `dataScadenzaLotto` DATE;

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `id_articoloTaglia` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `percL1` DECIMAL(5,2);

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `percL2` DECIMAL(5,2);

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `percL3` DECIMAL(5,2);

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `kg` DOUBLE;

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `mt` DOUBLE;

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `nr` DOUBLE;

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `qtaSlipStampate` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` ADD COLUMN `statoPrenotazione` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `id_rigaDocumento` INTEGER NOT NULL;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `id_documento` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `id_articolo` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `id_articoloVariante` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `id_iva` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `seriale` VARCHAR(30);

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `descrizioneRiga` VARCHAR(254);

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `notaRigaDocumento` VARCHAR(254);

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `flgRigaPrelevata` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `id_reparto` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `flgReso` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `flgPrenotazioneArrivata` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `id_documentoPadre` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `ordineRiga` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `serialeSost` VARCHAR(30) AFTER `flgPrenotazioneArrivata`;

ALTER TABLE `RIGA_DOCUMENTO` ADD CONSTRAINT `PK_RIGA_DOCUMENTO` 
    PRIMARY KEY (`id_rigaDocumento`);

ALTER TABLE `RIGA_DOCUMENTO` MODIFY `id_rigaDocumento` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_RIGA_DOCUMENTO_1` ON `RIGA_DOCUMENTO` (`id_articolo`);

CREATE INDEX `IDX_RIGA_DOCUMENTO_2` ON `RIGA_DOCUMENTO` (`id_documento`);

CREATE INDEX `IDX_RIGA_DOCUMENTO_3` ON `RIGA_DOCUMENTO` (`id_iva`);

CREATE INDEX `IDX_RIGA_DOCUMENTO_4` ON `RIGA_DOCUMENTO` (`id_articoloVariante`);

CREATE INDEX `IDX_RIGA_DOCUMENTO_5` ON `RIGA_DOCUMENTO` (`id_reparto`);

# ---------------------------------------------------------------------- #
# Modify table "TIPO_DOCUMENTO"                                          #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_TIPO_DOCUMENTO_2` ON `TIPO_DOCUMENTO`;

DROP INDEX `IDX_TIPO_DOCUMENTO_1` ON `TIPO_DOCUMENTO`;

DROP INDEX `IDX_TIPO_DOCUMENTO_3` ON `TIPO_DOCUMENTO`;

DROP INDEX `IDX_TIPO_DOCUMENTO_4` ON `TIPO_DOCUMENTO`;

# Remove autoinc for PK drop #

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `id_tipoDocumento` INTEGER(11) NOT NULL;

ALTER TABLE `TIPO_DOCUMENTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `TIPO_DOCUMENTO` DROP PRIMARY KEY;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `flgAllegato` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `flgNascondi` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `numeroCopieStampa` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `righePerPagina` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `maxCarDesc` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `coloreBordoEsterno` CHAR(7);

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `coloreBordoInterno` CHAR(7);

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `flgBordoRiga` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `flgBordoColonna` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `id_tipoDocumento` INTEGER NOT NULL;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `id_causaleMagazzino` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgTipologia` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `codice` CHAR(5);

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgClienteFornitore` CHAR(1);

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgMenu` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `descMenu` VARCHAR(30);

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `id_contatore` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgAutoAdd` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgSingleLineArt` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `id_tipoDocumentoFiglio` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `descrizioneStampa` VARCHAR(30);

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgTipoDocumentoPrelevabile` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgTipoStampa` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgImportoIva` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgCorrispettivi` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgObbligoPrelievo` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `flgGestioneDoc` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `baseFont` VARCHAR(60);

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `baseFontG` VARCHAR(60);

ALTER TABLE `TIPO_DOCUMENTO` ADD CONSTRAINT `PK_TIPO_DOCUMENTO` 
    PRIMARY KEY (`id_tipoDocumento`);

ALTER TABLE `TIPO_DOCUMENTO` MODIFY `id_tipoDocumento` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_TIPO_DOCUMENTO_2` ON `TIPO_DOCUMENTO` (`codice`);

CREATE INDEX `IDX_TIPO_DOCUMENTO_1` ON `TIPO_DOCUMENTO` (`id_causaleMagazzino`);

CREATE INDEX `IDX_TIPO_DOCUMENTO_3` ON `TIPO_DOCUMENTO` (`id_contatore`);

CREATE INDEX `IDX_TIPO_DOCUMENTO_4` ON `TIPO_DOCUMENTO` (`id_tipoDocumentoFiglio`);

# ---------------------------------------------------------------------- #
# Modify table "IVA"                                                     #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `IVA` MODIFY `id_iva` INTEGER(11) NOT NULL;

ALTER TABLE `IVA` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `IVA` DROP PRIMARY KEY;

ALTER TABLE `IVA` MODIFY `id_iva` INTEGER NOT NULL;

ALTER TABLE `IVA` MODIFY `descrizione` VARCHAR(30);

ALTER TABLE `IVA` MODIFY `aliquota` INTEGER;

ALTER TABLE `IVA` MODIFY `flgTipo` CHAR(1);

ALTER TABLE `IVA` MODIFY `aliquotaIndetraibile` INTEGER;

ALTER TABLE `IVA` MODIFY `notaEsenzione` VARCHAR(60);

ALTER TABLE `IVA` MODIFY `flgMargine` INTEGER;

ALTER TABLE `IVA` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `IVA` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `IVA` ADD CONSTRAINT `PK_IVA` 
    PRIMARY KEY (`id_iva`);

ALTER TABLE `IVA` MODIFY `id_iva` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "VETTORE"                                                 #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_VETTORE_1` ON `VETTORE`;

# Remove autoinc for PK drop #

ALTER TABLE `VETTORE` MODIFY `id_vettore` INTEGER(11) NOT NULL;

ALTER TABLE `VETTORE` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `VETTORE` DROP PRIMARY KEY;

ALTER TABLE `VETTORE` MODIFY `id_vettore` INTEGER NOT NULL;

ALTER TABLE `VETTORE` MODIFY `id_comune` INTEGER;

ALTER TABLE `VETTORE` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `VETTORE` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `VETTORE` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `VETTORE` MODIFY `indirizzo` VARCHAR(60);

ALTER TABLE `VETTORE` MODIFY `numeroCivico` VARCHAR(40);

ALTER TABLE `VETTORE` MODIFY `linkTracking` VARCHAR(254);

ALTER TABLE `VETTORE` ADD CONSTRAINT `PK_VETTORE` 
    PRIMARY KEY (`id_vettore`);

ALTER TABLE `VETTORE` MODIFY `id_vettore` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_VETTORE_1` ON `VETTORE` (`id_comune`);

# ---------------------------------------------------------------------- #
# Modify table "TIPO_PAGAMENTO"                                          #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `id_tipoPagamento` INTEGER(11) NOT NULL;

ALTER TABLE `TIPO_PAGAMENTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `TIPO_PAGAMENTO` DROP PRIMARY KEY;

ALTER TABLE `TIPO_PAGAMENTO` ADD COLUMN `flgAbilitatoNegozio` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` ADD COLUMN `flgAbilitatoCorriere` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` ADD COLUMN `codiceCassaEpson` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` ADD COLUMN `flgIncassoPagamento` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `id_tipoPagamento` INTEGER NOT NULL;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `periodicita` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `descrizione_it` VARCHAR(60);

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `descrizione_en` VARCHAR(60);

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `flgTipoPagamento` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `flgPrimaScadenza` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `giornoFisso` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `primaRata` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `nRate` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `codiceTenderCassa` CHAR(4);

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `flgWww` INTEGER;

ALTER TABLE `TIPO_PAGAMENTO` ADD CONSTRAINT `PK_TIPO_PAGAMENTO` 
    PRIMARY KEY (`id_tipoPagamento`);

ALTER TABLE `TIPO_PAGAMENTO` MODIFY `id_tipoPagamento` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "CLIFOR_USERS"                                            #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_CLIFOR_USERS_1` ON `CLIFOR_USERS`;

DROP INDEX `IDX_CLIFOR_USERS_2` ON `CLIFOR_USERS`;

# Remove autoinc for PK drop #

ALTER TABLE `CLIFOR_USERS` MODIFY `id_cliforUsers` INTEGER(11) NOT NULL;

ALTER TABLE `CLIFOR_USERS` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `CLIFOR_USERS` DROP PRIMARY KEY;

ALTER TABLE `CLIFOR_USERS` MODIFY `id_cliforUsers` INTEGER NOT NULL;

ALTER TABLE `CLIFOR_USERS` MODIFY `id_clifor` INTEGER;

ALTER TABLE `CLIFOR_USERS` MODIFY `id_users` INTEGER;

ALTER TABLE `CLIFOR_USERS` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `CLIFOR_USERS` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `CLIFOR_USERS` ADD CONSTRAINT `PK_CLIFOR_USERS` 
    PRIMARY KEY (`id_cliforUsers`);

ALTER TABLE `CLIFOR_USERS` MODIFY `id_cliforUsers` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_CLIFOR_USERS_1` ON `CLIFOR_USERS` (`id_clifor`);

CREATE INDEX `IDX_CLIFOR_USERS_2` ON `CLIFOR_USERS` (`id_users`);

# ---------------------------------------------------------------------- #
# Modify table "NAZIONE"                                                 #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_NAZIONE_2` ON `NAZIONE`;

DROP INDEX `IDX_NAZIONE_1` ON `NAZIONE`;

ALTER TABLE `NAZIONE` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `NAZIONE` DROP PRIMARY KEY;

ALTER TABLE `NAZIONE` MODIFY `id_nazione` CHAR(4) NOT NULL;

ALTER TABLE `NAZIONE` MODIFY `codice` VARCHAR(16);

ALTER TABLE `NAZIONE` MODIFY `id_lingua` CHAR(3);

ALTER TABLE `NAZIONE` MODIFY `descrizione_it` VARCHAR(60);

ALTER TABLE `NAZIONE` MODIFY `descrizione_en` VARCHAR(60);

ALTER TABLE `NAZIONE` MODIFY `flgCee` INTEGER;

ALTER TABLE `NAZIONE` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `NAZIONE` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `NAZIONE` MODIFY `flgAttiva` INTEGER;

ALTER TABLE `NAZIONE` MODIFY `codiceIstat` CHAR(3);

ALTER TABLE `NAZIONE` ADD CONSTRAINT `PK_NAZIONE` 
    PRIMARY KEY (`id_nazione`);

CREATE UNIQUE INDEX `IDX_NAZIONE_2` ON `NAZIONE` (`codice` ASC);

CREATE INDEX `IDX_NAZIONE_1` ON `NAZIONE` (`id_lingua`);

# ---------------------------------------------------------------------- #
# Modify table "COMUNE"                                                  #
# ---------------------------------------------------------------------- #

DROP INDEX `ComuniComune` ON `COMUNE`;

DROP INDEX `ComuniDescrizione` ON `COMUNE`;

DROP INDEX `IDX_COMUNE_3` ON `COMUNE`;

# Remove autoinc for PK drop #

ALTER TABLE `COMUNE` MODIFY `id_comune` INTEGER(11) NOT NULL;

ALTER TABLE `COMUNE` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `COMUNE` DROP PRIMARY KEY;

ALTER TABLE `COMUNE` MODIFY `id_comune` INTEGER NOT NULL;

ALTER TABLE `COMUNE` MODIFY `id_regione` VARCHAR(8);

ALTER TABLE `COMUNE` MODIFY `codice` CHAR(4) NOT NULL;

ALTER TABLE `COMUNE` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `COMUNE` MODIFY `provincia` VARCHAR(60);

ALTER TABLE `COMUNE` MODIFY `cap` CHAR(5);

ALTER TABLE `COMUNE` MODIFY `codiceComune` VARCHAR(6);

ALTER TABLE `COMUNE` MODIFY `codiceZona` CHAR(1);

ALTER TABLE `COMUNE` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `COMUNE` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `COMUNE` MODIFY `codice` CHAR(4) NOT NULL AFTER `id_comune`;

ALTER TABLE `COMUNE` MODIFY `descrizione` VARCHAR(60) AFTER `codice`;

ALTER TABLE `COMUNE` MODIFY `provincia` VARCHAR(60) AFTER `descrizione`;

ALTER TABLE `COMUNE` MODIFY `cap` CHAR(5) AFTER `provincia`;

ALTER TABLE `COMUNE` MODIFY `codiceComune` VARCHAR(6) AFTER `cap`;

ALTER TABLE `COMUNE` MODIFY `codiceZona` CHAR(1) AFTER `codiceComune`;

ALTER TABLE `COMUNE` MODIFY `lastUpdId_user` INTEGER AFTER `codiceZona`;

ALTER TABLE `COMUNE` MODIFY `lastUpdTmst` TIMESTAMP AFTER `lastUpdId_user`;

ALTER TABLE `COMUNE` MODIFY `id_regione` VARCHAR(8) AFTER `lastUpdTmst`;

ALTER TABLE `COMUNE` ADD CONSTRAINT `PK_COMUNE` 
    PRIMARY KEY (`id_comune`);

ALTER TABLE `COMUNE` MODIFY `id_comune` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `ComuniComune` ON `COMUNE` (`codice`);

CREATE INDEX `ComuniDescrizione` ON `COMUNE` (`descrizione`);

# ---------------------------------------------------------------------- #
# Modify table "REGIONE"                                                 #
# ---------------------------------------------------------------------- #

ALTER TABLE `REGIONE` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `REGIONE` DROP PRIMARY KEY;

ALTER TABLE `REGIONE` ADD COLUMN `id_nazione` CHAR(4);

ALTER TABLE `REGIONE` MODIFY `id_regione` VARCHAR(8) NOT NULL;

ALTER TABLE `REGIONE` MODIFY `descrizione` VARCHAR(30);

ALTER TABLE `REGIONE` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `REGIONE` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `REGIONE` ADD CONSTRAINT `PK_REGIONE` 
    PRIMARY KEY (`id_regione`);

# ---------------------------------------------------------------------- #
# Add table "NEWS"                                                       #
# ---------------------------------------------------------------------- #

CREATE TABLE `NEWS` (
    `id_news` INTEGER NOT NULL AUTO_INCREMENT,
    `dataNews` DATE,
    `flgVisibile` INTEGER,
    `dataFineVld` DATE,
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    `imgTmst` CHAR(16),
    `id_tipoNews` INTEGER,
    `dataInvio` DATE,
    CONSTRAINT `PK_NEWS` PRIMARY KEY (`id_news`)
);

# ---------------------------------------------------------------------- #
# Add table "ALLEGATO_NEWS"                                              #
# ---------------------------------------------------------------------- #

CREATE TABLE `ALLEGATO_NEWS` (
    `id_allegatoNews` INTEGER NOT NULL AUTO_INCREMENT,
    `nomeFile` VARCHAR(60),
    `id_news` INTEGER(11),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `descrizioneAllegato` VARCHAR(254),
    CONSTRAINT `PK_ALLEGATO_NEWS` PRIMARY KEY (`id_allegatoNews`)
);

CREATE INDEX `IDX_ALLEGATO_NEWS_1` ON `ALLEGATO_NEWS` (`id_news`);

# ---------------------------------------------------------------------- #
# Add table "NEWSLETTER"                                                 #
# ---------------------------------------------------------------------- #

CREATE TABLE `NEWSLETTER` (
    `id_newsletter` INTEGER NOT NULL AUTO_INCREMENT,
    `dataNewsletter` DATE,
    `titolo_it` VARCHAR(60),
    `titolo_en` VARCHAR(60),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `imgTmst` CHAR(16),
    `testo_it` TEXT,
    `testo_en` TEXT,
    CONSTRAINT `PK_NEWSLETTER` PRIMARY KEY (`id_newsletter`)
);

# ---------------------------------------------------------------------- #
# Add table "TAGLIA"                                                     #
# ---------------------------------------------------------------------- #

CREATE TABLE `TAGLIA` (
    `id_taglia` INTEGER NOT NULL AUTO_INCREMENT,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `id_tipoTaglia` INTEGER,
    `ordine` INTEGER,
    CONSTRAINT `PK_TAGLIA` PRIMARY KEY (`id_taglia`)
);

CREATE UNIQUE INDEX `IDX_TAGLIA_1` ON `TAGLIA` (`id_tipoTaglia`,`id_taglia`);

# ---------------------------------------------------------------------- #
# Add table "TIPO_TAGLIA"                                                #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPO_TAGLIA` (
    `id_tipoTaglia` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(60),
    `codice` VARCHAR(16),
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    CONSTRAINT `PK_TIPO_TAGLIA` PRIMARY KEY (`id_tipoTaglia`)
);

CREATE UNIQUE INDEX `IDX_TIPO_TAGLIA_1` ON `TIPO_TAGLIA` (`codice`);

# ---------------------------------------------------------------------- #
# Modify table "ARTICOLO_VARIANTE"                                       #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_ARTICOLO_VARIANTE_3` ON `ARTICOLO_VARIANTE`;

DROP INDEX `IDX_ARTICOLO_VARIANTE_2` ON `ARTICOLO_VARIANTE`;

DROP INDEX `IDX_ARTICOLO_VARIANTE_1` ON `ARTICOLO_VARIANTE`;

DROP INDEX `IDX_ARTICOLO_VARIANTE_4` ON `ARTICOLO_VARIANTE`;

# Remove autoinc for PK drop #

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `id_articoloVariante` INTEGER(11) NOT NULL;

ALTER TABLE `ARTICOLO_VARIANTE` ALTER COLUMN `flgNascondi` DROP DEFAULT;

ALTER TABLE `ARTICOLO_VARIANTE` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `ARTICOLO_VARIANTE` DROP PRIMARY KEY;

ALTER TABLE `ARTICOLO_VARIANTE` DROP COLUMN `descrizioneCommV_it`;

ALTER TABLE `ARTICOLO_VARIANTE` DROP COLUMN `descrizioneCommV_en`;

ALTER TABLE `ARTICOLO_VARIANTE` DROP COLUMN `flgVetrina`;

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `descrizioneVetrinaV_it` VARCHAR(254);

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `descrizioneVetrinaV_en` VARCHAR(254);

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `id_vetrina` INTEGER;

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `qtaAttribuitaV` DOUBLE;

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `qtaInProduzioneV` DOUBLE;

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `codiceSerieV` VARCHAR(16);

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `flgStockV` INTEGER;

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `flgNonOrdinabile` INTEGER;

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `flgDispo` INTEGER;

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `flgInAggiornamento` INTEGER;

ALTER TABLE `ARTICOLO_VARIANTE` ADD COLUMN `quantitaMagazzinoMovimentoHtml` VARCHAR(254);

ALTER TABLE `ARTICOLO_VARIANTE` CHANGE `codiciAlternativi` `codiciAlternativiV` VARCHAR(254);

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `id_articoloVariante` INTEGER NOT NULL;

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `id_articolo` INTEGER NOT NULL;

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `nomeV` VARCHAR(30);

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `codiceVariante` VARCHAR(30) NOT NULL;

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `imgTmst` CHAR(16);

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `descrizioneV_it` VARCHAR(60);

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `descrizioneV_en` VARCHAR(60);

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `flgNascondi` INTEGER DEFAULT 0;

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `flgUdmAv` INTEGER;

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `codiciAlternativiV` VARCHAR(254);

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `descrizioneVetrinaV_it` VARCHAR(254) AFTER `descrizioneV_en`;

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `descrizioneVetrinaV_en` VARCHAR(254) AFTER `descrizioneVetrinaV_it`;

ALTER TABLE `ARTICOLO_VARIANTE` ADD CONSTRAINT `PK_ARTICOLO_VARIANTE` 
    PRIMARY KEY (`id_articoloVariante`);

ALTER TABLE `ARTICOLO_VARIANTE` MODIFY `id_articoloVariante` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_ARTICOLO_VARIANTE_3` ON `ARTICOLO_VARIANTE` (`codiceVariante` ASC);

CREATE UNIQUE INDEX `IDX_ARTICOLO_VARIANTE_2` ON `ARTICOLO_VARIANTE` (`id_articolo` ASC,`nomeV` ASC,`codiceSerieV` ASC);

CREATE INDEX `IDX_ARTICOLO_VARIANTE_1` ON `ARTICOLO_VARIANTE` (`id_articolo`);

CREATE INDEX `IDX_ARTICOLO_VARIANTE_4` ON `ARTICOLO_VARIANTE` (`codiciAlternativiV` ASC);

# ---------------------------------------------------------------------- #
# Modify table "DISPONIBILITA"                                           #
# ---------------------------------------------------------------------- #

DROP INDEX `DISPONIBILITA_SERIALE` ON `DISPONIBILITA`;

DROP INDEX `IDX_DISPONIBILITA_5` ON `DISPONIBILITA`;

DROP INDEX `IDX_DISPONIBILITA_1` ON `DISPONIBILITA`;

DROP INDEX `IDX_DISPONIBILITA_2` ON `DISPONIBILITA`;

DROP INDEX `IDX_DISPONIBILITA_3` ON `DISPONIBILITA`;

DROP INDEX `IDX_DISPONIBILITA_4` ON `DISPONIBILITA`;

# Remove autoinc for PK drop #

ALTER TABLE `DISPONIBILITA` MODIFY `id_disponibilita` INTEGER(11) NOT NULL;

ALTER TABLE `DISPONIBILITA` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `DISPONIBILITA` DROP PRIMARY KEY;

ALTER TABLE `DISPONIBILITA` DROP COLUMN `id_tagliaD`;

ALTER TABLE `DISPONIBILITA` ADD COLUMN `id_articoloTagliaD` INTEGER;

ALTER TABLE `DISPONIBILITA` ADD COLUMN `dataScadenzaLottoD` DATE;

ALTER TABLE `DISPONIBILITA` MODIFY `id_disponibilita` INTEGER NOT NULL;

ALTER TABLE `DISPONIBILITA` MODIFY `id_articoloD` INTEGER NOT NULL;

ALTER TABLE `DISPONIBILITA` MODIFY `id_articoloVarianteD` INTEGER;

ALTER TABLE `DISPONIBILITA` MODIFY `id_magFisicoD` INTEGER;

ALTER TABLE `DISPONIBILITA` MODIFY `serialeD` VARCHAR(30);

ALTER TABLE `DISPONIBILITA` MODIFY `prenotati` INTEGER;

ALTER TABLE `DISPONIBILITA` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `DISPONIBILITA` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `DISPONIBILITA` MODIFY `flgUdmD` INTEGER;

ALTER TABLE `DISPONIBILITA` MODIFY `codiceD` VARCHAR(40) NOT NULL;

ALTER TABLE `DISPONIBILITA` ADD CONSTRAINT `PK_DISPONIBILITA` 
    PRIMARY KEY (`id_disponibilita`);

ALTER TABLE `DISPONIBILITA` MODIFY `id_disponibilita` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `DISPONIBILITA_SERIALE` ON `DISPONIBILITA` (`serialeD` ASC,`id_articoloD` ASC);

CREATE INDEX `IDX_DISPONIBILITA_1` ON `DISPONIBILITA` (`id_articoloD`);

CREATE INDEX `IDX_DISPONIBILITA_2` ON `DISPONIBILITA` (`id_articoloVarianteD`);

CREATE INDEX `IDX_DISPONIBILITA_3` ON `DISPONIBILITA` (`id_magFisicoD`);

# ---------------------------------------------------------------------- #
# Add table "ARTICOLO_FORNITORE"                                         #
# ---------------------------------------------------------------------- #

CREATE TABLE `ARTICOLO_FORNITORE` (
    `id_clifor` INTEGER NOT NULL,
    `id_articolo` INTEGER NOT NULL,
    `codiceFornitore` VARCHAR(16),
    `costo` DECIMAL(18,4),
    `costoVecchio` DECIMAL(18,4),
    `dataUltimoPrezzo` DATE,
    `flgFuoriListino` INTEGER,
    `costoScontoQta` INTEGER,
    `costoSconto` DECIMAL(18,4),
    `dispSede` INTEGER,
    `dispCash` INTEGER,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `flgAbituale` INTEGER,
    CONSTRAINT `PK_ARTICOLO_FORNITORE` PRIMARY KEY (`id_clifor`, `id_articolo`)
);

CREATE UNIQUE INDEX `IDX_ARTICOLO_FORNITORE1` ON `ARTICOLO_FORNITORE` (`codiceFornitore` ASC,`id_clifor` ASC);

CREATE INDEX `IDX_ARTICOLO_FORNITORE_2` ON `ARTICOLO_FORNITORE` (`id_clifor`);

CREATE INDEX `IDX_ARTICOLO_FORNITORE_3` ON `ARTICOLO_FORNITORE` (`id_articolo`);

# ---------------------------------------------------------------------- #
# Add table "ALLEGATO_ARTICOLO"                                          #
# ---------------------------------------------------------------------- #

CREATE TABLE `ALLEGATO_ARTICOLO` (
    `id_allegatoArticolo` INTEGER NOT NULL AUTO_INCREMENT,
    `id_articolo` INTEGER,
    `id_tipoAllegatoArticolo` INTEGER,
    `nomeFile` VARCHAR(60),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `descrizioneAllegato` VARCHAR(254),
    CONSTRAINT `PK_ALLEGATO_ARTICOLO` PRIMARY KEY (`id_allegatoArticolo`)
);

CREATE INDEX `IDX_ALLEGATO_ARTICOLO_1` ON `ALLEGATO_ARTICOLO` (`id_articolo`);

# ---------------------------------------------------------------------- #
# Add table "TABELLA_TAGLIA"                                             #
# ---------------------------------------------------------------------- #

CREATE TABLE `TABELLA_TAGLIA` (
    `id_tabellaTaglia` INTEGER NOT NULL AUTO_INCREMENT,
    `id_tipoTaglia` INTEGER,
    `descrizione` VARCHAR(60),
    `lastUpdIdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    `flgAltezzaCavallo` INTEGER,
    `flgColloCm` INTEGER,
    `flgColloPoll` INTEGER,
    `flgGiroCoscia` INTEGER,
    `flgLarghezzaFondoCm` INTEGER,
    `flgLunghezzaGamba` INTEGER,
    `flgLunghezzaTotale` INTEGER,
    `flgSpalleCm` INTEGER,
    `flgTagliaCollo` INTEGER,
    `flgTagliaLettere` INTEGER,
    `flgTagliaNum` INTEGER,
    `flgToraceCm` INTEGER,
    `flgVitaCm` INTEGER,
    `descrizioneImg_en` VARCHAR(254),
    `descrizioneImg_it` VARCHAR(254),
    `flgLunghezzaManica` INTEGER,
    `flgVitaCmNoTeso` INTEGER,
    `flgVitaCmTeso` INTEGER,
    `imgTmst` CHAR(16),
    CONSTRAINT `PK_TABELLA_TAGLIA` PRIMARY KEY (`id_tabellaTaglia`)
);

CREATE INDEX `IDX_TABELLA_TAGLIA_1` ON `TABELLA_TAGLIA` (`id_tipoTaglia`);

# ---------------------------------------------------------------------- #
# Add table "TAGLIA_MISURE"                                              #
# ---------------------------------------------------------------------- #

CREATE TABLE `TAGLIA_MISURE` (
    `id_tagliaMisure` INTEGER NOT NULL AUTO_INCREMENT,
    `id_tabellaTaglia` INTEGER,
    `ordine` INTEGER,
    `tagliaLettere` CHAR(10),
    `tagliaNum` CHAR(10),
    `tagliaCollo` CHAR(10),
    `colloCm` CHAR(10),
    `colloPoll` CHAR(10),
    `vitaCm` CHAR(10),
    `toraceCm` CHAR(10),
    `lunghezzaTotale` CHAR(10),
    `altezzaCavallo` CHAR(10),
    `giroCoscia` CHAR(10),
    `larghezzaFondoCm` CHAR(10),
    `lunghezzaGamba` CHAR(10),
    `spalleCm` CHAR(10),
    `lastUpdIdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    `lunghezzaManica` CHAR(10),
    `vitaCmNoTeso` CHAR(10),
    `vitaCmTeso` CHAR(10),
    CONSTRAINT `PK_TAGLIA_MISURE` PRIMARY KEY (`id_tagliaMisure`)
);

CREATE INDEX `IDX_TAGLIA_MISURE_1` ON `TAGLIA_MISURE` (`id_tabellaTaglia`);

CREATE UNIQUE INDEX `IDX_TAGLIA_MISURE_2` ON `TAGLIA_MISURE` (`ordine`,`id_tabellaTaglia`);

# ---------------------------------------------------------------------- #
# Modify table "MAG_FISICO"                                              #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_MAG_FISICO_1` ON `MAG_FISICO`;

# Remove autoinc for PK drop #

ALTER TABLE `MAG_FISICO` MODIFY `id_magFisico` INTEGER(11) NOT NULL;

ALTER TABLE `MAG_FISICO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `MAG_FISICO` DROP PRIMARY KEY;

ALTER TABLE `MAG_FISICO` DROP COLUMN `id_clifor`;

ALTER TABLE `MAG_FISICO` DROP COLUMN `lastUpdTmst`;

ALTER TABLE `MAG_FISICO` DROP COLUMN `lastUpdId_user`;

ALTER TABLE `MAG_FISICO` ADD COLUMN `flgTipo` INTEGER;

ALTER TABLE `MAG_FISICO` MODIFY `id_magFisico` INTEGER NOT NULL;

ALTER TABLE `MAG_FISICO` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `MAG_FISICO` ADD CONSTRAINT `PK_MAG_FISICO` 
    PRIMARY KEY (`id_magFisico`);

ALTER TABLE `MAG_FISICO` MODIFY `id_magFisico` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "TIPO_BANNER"                                             #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `TIPO_BANNER` MODIFY `id_tipoBanner` INTEGER(11) NOT NULL;

ALTER TABLE `TIPO_BANNER` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `TIPO_BANNER` DROP PRIMARY KEY;

ALTER TABLE `TIPO_BANNER` MODIFY `id_tipoBanner` INTEGER NOT NULL;

ALTER TABLE `TIPO_BANNER` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `TIPO_BANNER` MODIFY `larghezza` INTEGER;

ALTER TABLE `TIPO_BANNER` MODIFY `altezza` INTEGER;

ALTER TABLE `TIPO_BANNER` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `TIPO_BANNER` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `TIPO_BANNER` ADD CONSTRAINT `PK_TIPO_BANNER` 
    PRIMARY KEY (`id_tipoBanner`);

ALTER TABLE `TIPO_BANNER` MODIFY `id_tipoBanner` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "BANNER_STATS"                                            #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_BANNER_STATS_1` ON `BANNER_STATS`;

# Remove autoinc for PK drop #

ALTER TABLE `BANNER_STATS` MODIFY `id_bannerStats` INTEGER(11) NOT NULL;

ALTER TABLE `BANNER_STATS` ALTER COLUMN `dataTimestamp` DROP DEFAULT;

ALTER TABLE `BANNER_STATS` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `BANNER_STATS` DROP PRIMARY KEY;

ALTER TABLE `BANNER_STATS` MODIFY `id_bannerStats` INTEGER NOT NULL;

ALTER TABLE `BANNER_STATS` MODIFY `id_banner` INTEGER;

ALTER TABLE `BANNER_STATS` MODIFY `entryPoint` VARCHAR(254);

ALTER TABLE `BANNER_STATS` MODIFY `ipAddress` VARCHAR(40);

ALTER TABLE `BANNER_STATS` MODIFY `dataTimestamp` TIMESTAMP;

ALTER TABLE `BANNER_STATS` MODIFY `flgI_CT` INTEGER;

ALTER TABLE `BANNER_STATS` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `BANNER_STATS` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `BANNER_STATS` ADD CONSTRAINT `PK_BANNER_STATS` 
    PRIMARY KEY (`id_bannerStats`);

ALTER TABLE `BANNER_STATS` MODIFY `id_bannerStats` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_BANNER_STATS_1` ON `BANNER_STATS` (`id_banner`);

# ---------------------------------------------------------------------- #
# Modify table "BANNER"                                                  #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_BANNER_1` ON `BANNER`;

DROP INDEX `CLIFOR_BANNER` ON `BANNER`;

# Remove autoinc for PK drop #

ALTER TABLE `BANNER` MODIFY `id_banner` INTEGER(11) NOT NULL;

ALTER TABLE `BANNER` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `BANNER` DROP PRIMARY KEY;

ALTER TABLE `BANNER` ADD COLUMN `flgTipo` INTEGER;

ALTER TABLE `BANNER` MODIFY `id_banner` INTEGER NOT NULL;

ALTER TABLE `BANNER` MODIFY `id_tipoBanner` INTEGER;

ALTER TABLE `BANNER` MODIFY `id_clifor` INTEGER;

ALTER TABLE `BANNER` MODIFY `descrizioneClifor` VARCHAR(254);

ALTER TABLE `BANNER` MODIFY `link` VARCHAR(254);

ALTER TABLE `BANNER` MODIFY `flgAttivo` INTEGER;

ALTER TABLE `BANNER` MODIFY `impression` INTEGER;

ALTER TABLE `BANNER` MODIFY `clickThrough` INTEGER;

ALTER TABLE `BANNER` MODIFY `priorita` INTEGER;

ALTER TABLE `BANNER` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `BANNER` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `BANNER` MODIFY `titolo` VARCHAR(60);

ALTER TABLE `BANNER` MODIFY `descrizioneBanner` TEXT;

ALTER TABLE `BANNER` MODIFY `imgTmst` CHAR(16);

ALTER TABLE `BANNER` ADD CONSTRAINT `PK_BANNER` 
    PRIMARY KEY (`id_banner`);

ALTER TABLE `BANNER` MODIFY `id_banner` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_BANNER_1` ON `BANNER` (`id_tipoBanner`);

# ---------------------------------------------------------------------- #
# Modify table "BLACKLIST"                                               #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `BLACKLIST` MODIFY `id_blacklist` INTEGER(11) NOT NULL;

ALTER TABLE `BLACKLIST` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `BLACKLIST` DROP PRIMARY KEY;

ALTER TABLE `BLACKLIST` MODIFY `id_blacklist` INTEGER NOT NULL;

ALTER TABLE `BLACKLIST` MODIFY `descrizione` VARCHAR(254);

ALTER TABLE `BLACKLIST` MODIFY `flgAttivo` INTEGER;

ALTER TABLE `BLACKLIST` MODIFY `ipAddress` CHAR(60);

ALTER TABLE `BLACKLIST` MODIFY `eMail` VARCHAR(60);

ALTER TABLE `BLACKLIST` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `BLACKLIST` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `BLACKLIST` ADD CONSTRAINT `PK_BLACKLIST` 
    PRIMARY KEY (`id_blacklist`);

ALTER TABLE `BLACKLIST` MODIFY `id_blacklist` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Add table "HELP"                                                       #
# ---------------------------------------------------------------------- #

CREATE TABLE `HELP` (
    `id_help` INTEGER NOT NULL AUTO_INCREMENT,
    `codice` VARCHAR(30),
    `titolo_it` VARCHAR(60),
    `titolo_en` VARCHAR(60),
    `id_helpPadre` INTEGER,
    `descrizione_it` VARCHAR(254),
    `descrizione_en` VARCHAR(254),
    `livello` INTEGER,
    `indici` VARCHAR(4000),
    `flgFoglia` INTEGER,
    `flgVisibile` INTEGER DEFAULT 0,
    `ordine` INTEGER,
    `flgTipoHelp` INTEGER,
    `text_it` TEXT,
    `text_en` TEXT,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `imgTmst` CHAR(16),
    CONSTRAINT `PK_HELP` PRIMARY KEY (`id_help`)
);

CREATE INDEX `IDX_HELP_1` ON `HELP` (`id_helpPadre`);

CREATE UNIQUE INDEX `IDX_HELP_2` ON `HELP` (`codice` ASC);

# ---------------------------------------------------------------------- #
# Modify table "EXCLUDE_KEYWORDS"                                        #
# ---------------------------------------------------------------------- #

ALTER TABLE `EXCLUDE_KEYWORDS` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `EXCLUDE_KEYWORDS` DROP PRIMARY KEY;

ALTER TABLE `EXCLUDE_KEYWORDS` MODIFY `id_excludeKeywords` VARCHAR(30) NOT NULL;

ALTER TABLE `EXCLUDE_KEYWORDS` MODIFY `lang` CHAR(2);

ALTER TABLE `EXCLUDE_KEYWORDS` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `EXCLUDE_KEYWORDS` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `EXCLUDE_KEYWORDS` MODIFY `theKey` VARCHAR(60);

ALTER TABLE `EXCLUDE_KEYWORDS` ADD CONSTRAINT `PK_EXCLUDE_KEYWORDS` 
    PRIMARY KEY (`id_excludeKeywords`);

# ---------------------------------------------------------------------- #
# Modify table "CAUSALE_MAGAZZINO"                                       #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_CAUSALE_MAGAZZINO_1` ON `CAUSALE_MAGAZZINO`;

DROP INDEX `IDX_CAUSALE_MAGAZZINO_2` ON `CAUSALE_MAGAZZINO`;

# Remove autoinc for PK drop #

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `id_causaleMagazzino` INTEGER(11) NOT NULL;

ALTER TABLE `CAUSALE_MAGAZZINO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `CAUSALE_MAGAZZINO` DROP PRIMARY KEY;

ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `flgVisualizzazioneArrivo`;

ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `flgVisualizzazionePartenza`;

ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `lastUpdTmst`;

ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `lastUpdId_user`;

ALTER TABLE `CAUSALE_MAGAZZINO` ADD COLUMN `flgPartenzaInterno` INTEGER;

ALTER TABLE `CAUSALE_MAGAZZINO` ADD COLUMN `flgArrivoInterno` INTEGER;

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `id_causaleMagazzino` INTEGER NOT NULL;

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `id_magFisicoPartenza` INTEGER;

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `id_magFisicoArrivo` INTEGER;

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `flgCaricoPartenza` INTEGER;

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `flgScaricoPartenza` INTEGER;

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `flgCaricoArrivo` INTEGER;

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `flgScaricoArrivo` INTEGER;

ALTER TABLE `CAUSALE_MAGAZZINO` ADD CONSTRAINT `PK_CAUSALE_MAGAZZINO` 
    PRIMARY KEY (`id_causaleMagazzino`);

ALTER TABLE `CAUSALE_MAGAZZINO` MODIFY `id_causaleMagazzino` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_CAUSALE_MAGAZZINO_1` ON `CAUSALE_MAGAZZINO` (`id_magFisicoPartenza`);

CREATE INDEX `IDX_CAUSALE_MAGAZZINO_2` ON `CAUSALE_MAGAZZINO` (`id_magFisicoArrivo`);

# ---------------------------------------------------------------------- #
# Add table "HELP_REL"                                                   #
# ---------------------------------------------------------------------- #

CREATE TABLE `HELP_REL` (
    `id_helpRel` INTEGER NOT NULL AUTO_INCREMENT,
    `id_help1` INTEGER,
    `id_help` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    CONSTRAINT `PK_HELP_REL` PRIMARY KEY (`id_helpRel`)
);

CREATE INDEX `IDX_HELP_REL_1` ON `HELP_REL` (`id_help1`);

CREATE INDEX `IDX_HELP_REL_2` ON `HELP_REL` (`id_help`);

# ---------------------------------------------------------------------- #
# Modify table "ESERCIZIO"                                               #
# ---------------------------------------------------------------------- #

ALTER TABLE `ESERCIZIO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `ESERCIZIO` DROP PRIMARY KEY;

ALTER TABLE `ESERCIZIO` DROP COLUMN `lastUpdTmst`;

ALTER TABLE `ESERCIZIO` DROP COLUMN `lastUpdId_user`;

ALTER TABLE `ESERCIZIO` MODIFY `id_esercizio` INTEGER NOT NULL;

ALTER TABLE `ESERCIZIO` MODIFY `flgStato` INTEGER;

ALTER TABLE `ESERCIZIO` ADD CONSTRAINT `PK_ESERCIZIO` 
    PRIMARY KEY (`id_esercizio`);

# ---------------------------------------------------------------------- #
# Modify table "ASPETTO"                                                 #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `ASPETTO` MODIFY `id_aspetto` INTEGER(11) NOT NULL;

ALTER TABLE `ASPETTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `ASPETTO` DROP PRIMARY KEY;

ALTER TABLE `ASPETTO` MODIFY `id_aspetto` INTEGER NOT NULL;

ALTER TABLE `ASPETTO` MODIFY `descrizione` VARCHAR(40);

ALTER TABLE `ASPETTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `ASPETTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `ASPETTO` ADD CONSTRAINT `PK_ASPETTO` 
    PRIMARY KEY (`id_aspetto`);

ALTER TABLE `ASPETTO` MODIFY `id_aspetto` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "REGISTRO_IVA"                                            #
# ---------------------------------------------------------------------- #

ALTER TABLE `REGISTRO_IVA` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `REGISTRO_IVA` DROP PRIMARY KEY;

ALTER TABLE `REGISTRO_IVA` MODIFY `id_registroIva` INTEGER NOT NULL;

ALTER TABLE `REGISTRO_IVA` MODIFY `anno` INTEGER;

ALTER TABLE `REGISTRO_IVA` MODIFY `ultimaPagina` INTEGER;

ALTER TABLE `REGISTRO_IVA` MODIFY `ultimaRiga` INTEGER;

ALTER TABLE `REGISTRO_IVA` MODIFY `flgPeriodo` CHAR(2);

ALTER TABLE `REGISTRO_IVA` MODIFY `flgTipoLiquidazione` INTEGER;

ALTER TABLE `REGISTRO_IVA` MODIFY `flgMeseStampato` INTEGER;

ALTER TABLE `REGISTRO_IVA` MODIFY `flgAnnoStampato` INTEGER;

ALTER TABLE `REGISTRO_IVA` MODIFY `flgTrimestreStampato` INTEGER;

ALTER TABLE `REGISTRO_IVA` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `REGISTRO_IVA` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `REGISTRO_IVA` ADD CONSTRAINT `PK_REGISTRO_IVA` 
    PRIMARY KEY (`id_registroIva`);

# ---------------------------------------------------------------------- #
# Modify table "DESTINAZIONE_DIVERSA"                                    #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_DESTINAZIONE_DIVERSA_1` ON `DESTINAZIONE_DIVERSA`;

DROP INDEX `IDX_DESTINAZIONE_DIVERSA_2` ON `DESTINAZIONE_DIVERSA`;

DROP INDEX `IDX_DESTINAZIONE_DIVERSA_3` ON `DESTINAZIONE_DIVERSA`;

# Remove autoinc for PK drop #

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `id_destinazioneDiversa` INTEGER(11) NOT NULL;

ALTER TABLE `DESTINAZIONE_DIVERSA` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `DESTINAZIONE_DIVERSA` DROP PRIMARY KEY;

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `id_destinazioneDiversa` INTEGER NOT NULL;

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `id_clifor` INTEGER;

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `id_comuneDD` INTEGER;

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `id_nazioneDD` CHAR(4);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `descrizioneDD` VARCHAR(60);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `pressoDD` VARCHAR(60);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `indirizzoDD` VARCHAR(60);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `numeroCivicoDD` VARCHAR(10);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `capZonaDD` CHAR(5);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `telefonoDD` VARCHAR(30);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `faxDD` VARCHAR(30);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `eMailDD` VARCHAR(30);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `descrizioneComuneDD` VARCHAR(60);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `provinciaComuneDD` VARCHAR(30);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `capComuneDD` CHAR(10);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `flgDDDefault` INTEGER;

ALTER TABLE `DESTINAZIONE_DIVERSA` ADD CONSTRAINT `PK_DESTINAZIONE_DIVERSA` 
    PRIMARY KEY (`id_destinazioneDiversa`);

ALTER TABLE `DESTINAZIONE_DIVERSA` MODIFY `id_destinazioneDiversa` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_DESTINAZIONE_DIVERSA_1` ON `DESTINAZIONE_DIVERSA` (`id_clifor`);

CREATE INDEX `IDX_DESTINAZIONE_DIVERSA_2` ON `DESTINAZIONE_DIVERSA` (`id_nazioneDD`);

CREATE INDEX `IDX_DESTINAZIONE_DIVERSA_3` ON `DESTINAZIONE_DIVERSA` (`id_comuneDD`);

# ---------------------------------------------------------------------- #
# Modify table "CONTATORE"                                               #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `CONTATORE` MODIFY `id_contatore` INTEGER(11) NOT NULL;

ALTER TABLE `CONTATORE` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `CONTATORE` DROP PRIMARY KEY;

ALTER TABLE `CONTATORE` MODIFY `id_contatore` INTEGER NOT NULL;

ALTER TABLE `CONTATORE` MODIFY `descrizione` VARCHAR(30);

ALTER TABLE `CONTATORE` MODIFY `flgTipo` INTEGER;

ALTER TABLE `CONTATORE` MODIFY `flgControllo` INTEGER;

ALTER TABLE `CONTATORE` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `CONTATORE` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `CONTATORE` MODIFY `annoIniziale` INTEGER;

ALTER TABLE `CONTATORE` MODIFY `progIniziale` INTEGER;

ALTER TABLE `CONTATORE` ADD CONSTRAINT `PK_CONTATORE` 
    PRIMARY KEY (`id_contatore`);

ALTER TABLE `CONTATORE` MODIFY `id_contatore` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "LISTINO"                                                 #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `LISTINO` MODIFY `id_listino` INTEGER(11) NOT NULL;

ALTER TABLE `LISTINO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `LISTINO` DROP PRIMARY KEY;

ALTER TABLE `LISTINO` ADD COLUMN `percL1` DECIMAL(5,2);

ALTER TABLE `LISTINO` ADD COLUMN `percL2` DECIMAL(5,2);

ALTER TABLE `LISTINO` ADD COLUMN `percL3` DECIMAL(5,2);

ALTER TABLE `LISTINO` MODIFY `id_listino` INTEGER NOT NULL;

ALTER TABLE `LISTINO` MODIFY `flgTipoL` INTEGER;

ALTER TABLE `LISTINO` MODIFY `descrizione` VARCHAR(30);

ALTER TABLE `LISTINO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `LISTINO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `LISTINO` ADD CONSTRAINT `PK_LISTINO` 
    PRIMARY KEY (`id_listino`);

ALTER TABLE `LISTINO` MODIFY `id_listino` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Add table "LISTINO_PERS"                                               #
# ---------------------------------------------------------------------- #

CREATE TABLE `LISTINO_PERS` (
    `id_listinoPers` INTEGER NOT NULL AUTO_INCREMENT,
    `id_articolo` INTEGER,
    `id_clifor` INTEGER,
    `flgTipoLP` INTEGER,
    `percLP` DECIMAL(5,2),
    `prezzoLP` DECIMAL(18,4),
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    `id_tipo` INTEGER(11),
    `indiciTipo` VARCHAR(1000),
    CONSTRAINT `PK_LISTINO_PERS` PRIMARY KEY (`id_listinoPers`)
);

CREATE INDEX `IDX_LISTINO_PERS_1` ON `LISTINO_PERS` (`id_articolo`);

CREATE INDEX `IDX_LISTINO_PERS_2` ON `LISTINO_PERS` (`id_clifor`);

CREATE UNIQUE INDEX `IDX_LISTINO_PERS_3` ON `LISTINO_PERS` (`id_articolo`,`id_clifor`);

CREATE UNIQUE INDEX `IDX_LISTINO_PERS_4` ON `LISTINO_PERS` (`id_clifor`,`id_tipo`);

# ---------------------------------------------------------------------- #
# Modify table "POSTAZIONE"                                              #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_POSTAZIONE_1` ON `POSTAZIONE`;

DROP INDEX `TIPO_POSTAZIONE_POSTAZIONE` ON `POSTAZIONE`;

# Remove autoinc for PK drop #

ALTER TABLE `POSTAZIONE` MODIFY `id_postazione` INTEGER(11) NOT NULL;

ALTER TABLE `POSTAZIONE` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `POSTAZIONE` DROP PRIMARY KEY;

ALTER TABLE `POSTAZIONE` MODIFY `id_postazione` INTEGER NOT NULL;

ALTER TABLE `POSTAZIONE` MODIFY `id_tipoPostazione` INTEGER;

ALTER TABLE `POSTAZIONE` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `POSTAZIONE` MODIFY `ipAddress` CHAR(60);

ALTER TABLE `POSTAZIONE` MODIFY `stampanteA4` VARCHAR(60);

ALTER TABLE `POSTAZIONE` MODIFY `stampanteEtichette` VARCHAR(60);

ALTER TABLE `POSTAZIONE` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `POSTAZIONE` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `POSTAZIONE` MODIFY `id_regCassa` INTEGER;

ALTER TABLE `POSTAZIONE` ADD CONSTRAINT `PK_POSTAZIONE` 
    PRIMARY KEY (`id_postazione`);

ALTER TABLE `POSTAZIONE` MODIFY `id_postazione` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_POSTAZIONE_1` ON `POSTAZIONE` (`id_regCassa`);

# ---------------------------------------------------------------------- #
# Modify table "REG_CASSA"                                               #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `REG_CASSA` MODIFY `id_regCassa` INTEGER(11) NOT NULL;

ALTER TABLE `REG_CASSA` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `REG_CASSA` DROP PRIMARY KEY;

ALTER TABLE `REG_CASSA` ADD COLUMN `flgTipoCassa` INTEGER;

ALTER TABLE `REG_CASSA` MODIFY `id_regCassa` INTEGER NOT NULL;

ALTER TABLE `REG_CASSA` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `REG_CASSA` MODIFY `ipCassa` CHAR(60);

ALTER TABLE `REG_CASSA` MODIFY `porta` INTEGER;

ALTER TABLE `REG_CASSA` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `REG_CASSA` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `REG_CASSA` ADD CONSTRAINT `PK_REG_CASSA` 
    PRIMARY KEY (`id_regCassa`);

ALTER TABLE `REG_CASSA` MODIFY `id_regCassa` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "DOC_PREL"                                                #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_DOC_PREL_1` ON `DOC_PREL`;

DROP INDEX `IDX_DOC_PREL_2` ON `DOC_PREL`;

# Remove autoinc for PK drop #

ALTER TABLE `DOC_PREL` MODIFY `id_docPrel` INTEGER(11) NOT NULL;

ALTER TABLE `DOC_PREL` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `DOC_PREL` DROP PRIMARY KEY;

ALTER TABLE `DOC_PREL` DROP COLUMN `lastUpdTmst`;

ALTER TABLE `DOC_PREL` DROP COLUMN `lastUpdId_user`;

ALTER TABLE `DOC_PREL` MODIFY `id_docPrel` INTEGER NOT NULL;

ALTER TABLE `DOC_PREL` MODIFY `id_tipoDocumentoPrel` INTEGER;

ALTER TABLE `DOC_PREL` MODIFY `id_tipoDocumento` INTEGER;

ALTER TABLE `DOC_PREL` ADD CONSTRAINT `PK_DOC_PREL` 
    PRIMARY KEY (`id_docPrel`);

ALTER TABLE `DOC_PREL` MODIFY `id_docPrel` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_DOC_PREL_1` ON `DOC_PREL` (`id_tipoDocumentoPrel`);

CREATE INDEX `IDX_DOC_PREL_2` ON `DOC_PREL` (`id_tipoDocumento`);

# ---------------------------------------------------------------------- #
# Modify table "RIGA_DOCUMENTO_P"                                        #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_RIGA_DOCUMENTO_P_1` ON `RIGA_DOCUMENTO_P`;

DROP INDEX `IDX_RIGA_DOCUMENTO_P_2` ON `RIGA_DOCUMENTO_P`;

DROP INDEX `IDX_RIGA_DOCUMENTO_P_3` ON `RIGA_DOCUMENTO_P`;

ALTER TABLE `RIGA_DOCUMENTO_P` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `RIGA_DOCUMENTO_P` DROP PRIMARY KEY;

#ALTER TABLE `RIGA_DOCUMENTO_P` ADD COLUMN `id_rigaDocumentoP` INTEGER NOT NULL AUTO_INCREMENT;

ALTER TABLE `RIGA_DOCUMENTO_P` MODIFY `id_rigaDocumento` INTEGER NOT NULL;

ALTER TABLE `RIGA_DOCUMENTO_P` MODIFY `id_rigaDocumentoPrelevata` INTEGER NOT NULL;

ALTER TABLE `RIGA_DOCUMENTO_P` MODIFY `id_documento` INTEGER;

ALTER TABLE `RIGA_DOCUMENTO_P` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `RIGA_DOCUMENTO_P` MODIFY `lastUpdId_user` INTEGER;

#ALTER TABLE `RIGA_DOCUMENTO_P` MODIFY `id_rigaDocumentoP` INTEGER NOT NULL AUTO_INCREMENT FIRST;

#ALTER TABLE `RIGA_DOCUMENTO_P` ADD CONSTRAINT `PK_RIGA_DOCUMENTO_P` 
#    PRIMARY KEY (`id_rigaDocumentoP`);
#
# ---------------------------------------------------------------------- #
# Modify table "CAUSALE_TRASPORTO"                                       #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `CAUSALE_TRASPORTO` MODIFY `id_causaleTrasporto` INTEGER(11) NOT NULL;

ALTER TABLE `CAUSALE_TRASPORTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `CAUSALE_TRASPORTO` DROP PRIMARY KEY;

ALTER TABLE `CAUSALE_TRASPORTO` MODIFY `id_causaleTrasporto` INTEGER NOT NULL;

ALTER TABLE `CAUSALE_TRASPORTO` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `CAUSALE_TRASPORTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `CAUSALE_TRASPORTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `CAUSALE_TRASPORTO` ADD CONSTRAINT `PK_CAUSALE_TRASPORTO` 
    PRIMARY KEY (`id_causaleTrasporto`);

ALTER TABLE `CAUSALE_TRASPORTO` MODIFY `id_causaleTrasporto` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "HELP_KEYWORD"                                            #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_HELP_KEYWORD_1` ON `HELP_KEYWORD`;

DROP INDEX `HELP_HELP_KEYWORD` ON `HELP_KEYWORD`;

# Remove autoinc for PK drop #

ALTER TABLE `HELP_KEYWORD` MODIFY `id_helpKeyword` INTEGER(11) NOT NULL;

ALTER TABLE `HELP_KEYWORD` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `HELP_KEYWORD` DROP PRIMARY KEY;

ALTER TABLE `HELP_KEYWORD` MODIFY `id_helpKeyword` INTEGER NOT NULL;

ALTER TABLE `HELP_KEYWORD` MODIFY `lang` CHAR(2);

ALTER TABLE `HELP_KEYWORD` MODIFY `theKey` VARCHAR(30);

ALTER TABLE `HELP_KEYWORD` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `HELP_KEYWORD` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `HELP_KEYWORD` MODIFY `id_help` INTEGER;

ALTER TABLE `HELP_KEYWORD` ADD CONSTRAINT `PK_HELP_KEYWORD` 
    PRIMARY KEY (`id_helpKeyword`);

ALTER TABLE `HELP_KEYWORD` MODIFY `id_helpKeyword` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_HELP_KEYWORD_1` ON `HELP_KEYWORD` (`theKey` ASC);

# ---------------------------------------------------------------------- #
# Add table "RIVALUTAZIONE"                                              #
# ---------------------------------------------------------------------- #

CREATE TABLE `RIVALUTAZIONE` (
    `id_rivalutazione` INTEGER NOT NULL AUTO_INCREMENT,
    `dataRivalutazione` DATE,
    `imponibileRivalutazione` DECIMAL(18,4),
    `id_articolo` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    CONSTRAINT `PK_RIVALUTAZIONE` PRIMARY KEY (`id_rivalutazione`)
);

CREATE INDEX `IDX_RIVALUTAZIONE_1` ON `RIVALUTAZIONE` (`id_articolo`);

# ---------------------------------------------------------------------- #
# Modify table "CODA_MESSAGGI"                                           #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_CODA_MESSAGGI_1` ON `CODA_MESSAGGI`;

DROP INDEX `IDX_CODA_MESSAGGI_2` ON `CODA_MESSAGGI`;

DROP INDEX `IDX_CODA_MESSAGGI_3` ON `CODA_MESSAGGI`;

# Remove autoinc for PK drop #

ALTER TABLE `CODA_MESSAGGI` MODIFY `id_codaMessaggi` INTEGER(11) NOT NULL;

ALTER TABLE `CODA_MESSAGGI` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `CODA_MESSAGGI` DROP PRIMARY KEY;

ALTER TABLE `CODA_MESSAGGI` DROP COLUMN `lastUpdTmst`;

ALTER TABLE `CODA_MESSAGGI` DROP COLUMN `lastUpdId_user`;

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `imgTmst` CHAR(16);

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `campagna` VARCHAR(60);

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `id_templateMsg` INTEGER;

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `tmstPrimaLettura` VARCHAR(30);

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `tmstUltimaLettura` VARCHAR(30);

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `nLetture` INTEGER;

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `ipPrimaLettura` CHAR(60);

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `ipUltimaLettura` CHAR(60);

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `campiMail` VARCHAR(1000);

ALTER TABLE `CODA_MESSAGGI` MODIFY `id_codaMessaggi` INTEGER NOT NULL;

ALTER TABLE `CODA_MESSAGGI` MODIFY `flgTipo` INTEGER;

ALTER TABLE `CODA_MESSAGGI` MODIFY `flgStatoInvio` INTEGER;

ALTER TABLE `CODA_MESSAGGI` MODIFY `messaggio` TEXT;

ALTER TABLE `CODA_MESSAGGI` MODIFY `cellulare` VARCHAR(254);

ALTER TABLE `CODA_MESSAGGI` MODIFY `mailTo` VARCHAR(60);

ALTER TABLE `CODA_MESSAGGI` MODIFY `mailCc` VARCHAR(60);

ALTER TABLE `CODA_MESSAGGI` MODIFY `mailBcc` VARCHAR(60);

ALTER TABLE `CODA_MESSAGGI` MODIFY `result` TEXT;

ALTER TABLE `CODA_MESSAGGI` MODIFY `riferimento` VARCHAR(60);

ALTER TABLE `CODA_MESSAGGI` MODIFY `destinatario` VARCHAR(254);

ALTER TABLE `CODA_MESSAGGI` MODIFY `oggettoEmail` VARCHAR(254);

ALTER TABLE `CODA_MESSAGGI` ADD CONSTRAINT `PK_CODA_MESSAGGI` 
    PRIMARY KEY (`id_codaMessaggi`);

ALTER TABLE `CODA_MESSAGGI` MODIFY `id_codaMessaggi` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Add table "TEMPLATE_MSG"                                               #
# ---------------------------------------------------------------------- #

CREATE TABLE `TEMPLATE_MSG` (
    `id_templateMsg` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(60),
    `flgTipo` INTEGER,
    `messaggio` TEXT,
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    `imgTmst` CHAR(16),
    `oggettoEmail` VARCHAR(254),
    CONSTRAINT `PK_TEMPLATE_MSG` PRIMARY KEY (`id_templateMsg`)
);

# ---------------------------------------------------------------------- #
# Add table "WHITELIST"                                                  #
# ---------------------------------------------------------------------- #

CREATE TABLE `WHITELIST` (
    `id_whitelist` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(60),
    `ipAddress` CHAR(60),
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    CONSTRAINT `PK_WHITELIST` PRIMARY KEY (`id_whitelist`)
);

# ---------------------------------------------------------------------- #
# Add table "USER_WHITELIST"                                             #
# ---------------------------------------------------------------------- #

CREATE TABLE `USER_WHITELIST` (
    `id_userWhitelist` INTEGER NOT NULL AUTO_INCREMENT,
    `id_whitelist` INTEGER,
    `id_users` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    CONSTRAINT `PK_USER_WHITELIST` PRIMARY KEY (`id_userWhitelist`)
);

# ---------------------------------------------------------------------- #
# Modify table "CONTRATTO"                                               #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_CONTRATTO_1` ON `CONTRATTO`;

DROP INDEX `IDX_CONTRATTO_2` ON `CONTRATTO`;

# Remove autoinc for PK drop #

ALTER TABLE `CONTRATTO` MODIFY `id_contratto` INTEGER(11) NOT NULL;

ALTER TABLE `CONTRATTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `CONTRATTO` DROP PRIMARY KEY;

ALTER TABLE `CONTRATTO` MODIFY `id_contratto` INTEGER NOT NULL;

ALTER TABLE `CONTRATTO` MODIFY `id_tipoContratto` INTEGER;

ALTER TABLE `CONTRATTO` MODIFY `id_clifor` INTEGER;

ALTER TABLE `CONTRATTO` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `CONTRATTO` MODIFY `flgStato` INTEGER;

ALTER TABLE `CONTRATTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `CONTRATTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `CONTRATTO` MODIFY `telefoniAssociati` VARCHAR(60);

ALTER TABLE `CONTRATTO` MODIFY `notaContratto` TEXT;

ALTER TABLE `CONTRATTO` MODIFY `logContratto` TEXT;

ALTER TABLE `CONTRATTO` ADD CONSTRAINT `PK_CONTRATTO` 
    PRIMARY KEY (`id_contratto`);

ALTER TABLE `CONTRATTO` MODIFY `id_contratto` INTEGER NOT NULL AUTO_INCREMENT;

CREATE INDEX `IDX_CONTRATTO_1` ON `CONTRATTO` (`id_tipoContratto`);

CREATE INDEX `IDX_CONTRATTO_2` ON `CONTRATTO` (`id_clifor`);

# ---------------------------------------------------------------------- #
# Modify table "TIPO_CONTRATTO"                                          #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `TIPO_CONTRATTO` MODIFY `id_tipoContratto` INTEGER(11) NOT NULL;

ALTER TABLE `TIPO_CONTRATTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `TIPO_CONTRATTO` DROP PRIMARY KEY;

ALTER TABLE `TIPO_CONTRATTO` MODIFY `id_tipoContratto` INTEGER NOT NULL;

ALTER TABLE `TIPO_CONTRATTO` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `TIPO_CONTRATTO` MODIFY `durataMesi` INTEGER;

ALTER TABLE `TIPO_CONTRATTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `TIPO_CONTRATTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `TIPO_CONTRATTO` MODIFY `flgPrepagato` INTEGER;

ALTER TABLE `TIPO_CONTRATTO` MODIFY `messaggioSms` TEXT;

ALTER TABLE `TIPO_CONTRATTO` MODIFY `ggInvioMsg` INTEGER;

ALTER TABLE `TIPO_CONTRATTO` ADD CONSTRAINT `PK_TIPO_CONTRATTO` 
    PRIMARY KEY (`id_tipoContratto`);

ALTER TABLE `TIPO_CONTRATTO` MODIFY `id_tipoContratto` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "DOC_FIGLIO_PADRE"                                        #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_DOC_FIGLIO_PADRE_3` ON `DOC_FIGLIO_PADRE`;

DROP INDEX `IDX_DOC_FIGLIO_PADRE_1` ON `DOC_FIGLIO_PADRE`;

DROP INDEX `IDX_DOC_FIGLIO_PADRE_2` ON `DOC_FIGLIO_PADRE`;

# Remove autoinc for PK drop #

ALTER TABLE `DOC_FIGLIO_PADRE` MODIFY `id_docFiglioPadre` INTEGER(11) NOT NULL;

ALTER TABLE `DOC_FIGLIO_PADRE` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `DOC_FIGLIO_PADRE` DROP PRIMARY KEY;

ALTER TABLE `DOC_FIGLIO_PADRE` MODIFY `id_docFiglioPadre` INTEGER NOT NULL;

ALTER TABLE `DOC_FIGLIO_PADRE` MODIFY `id_documentoPadre` INTEGER;

ALTER TABLE `DOC_FIGLIO_PADRE` MODIFY `id_documentoFiglio` INTEGER;

ALTER TABLE `DOC_FIGLIO_PADRE` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `DOC_FIGLIO_PADRE` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `DOC_FIGLIO_PADRE` ADD CONSTRAINT `PK_DOC_FIGLIO_PADRE` 
    PRIMARY KEY (`id_docFiglioPadre`);

ALTER TABLE `DOC_FIGLIO_PADRE` MODIFY `id_docFiglioPadre` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_DOC_FIGLIO_PADRE_3` ON `DOC_FIGLIO_PADRE` (`id_documentoPadre`,`id_documentoFiglio`);

CREATE INDEX `IDX_DOC_FIGLIO_PADRE_1` ON `DOC_FIGLIO_PADRE` (`id_documentoPadre`);

CREATE INDEX `IDX_DOC_FIGLIO_PADRE_2` ON `DOC_FIGLIO_PADRE` (`id_documentoFiglio`);

# ---------------------------------------------------------------------- #
# Add table "TIPO_POSTAZIONE"                                            #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPO_POSTAZIONE` (
    `id_tipoPostazione` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(30),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_TIPO_POSTAZIONE` PRIMARY KEY (`id_tipoPostazione`)
);

# ---------------------------------------------------------------------- #
# Modify table "PORTO"                                                   #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `PORTO` MODIFY `id_porto` INTEGER(11) NOT NULL;

ALTER TABLE `PORTO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `PORTO` DROP PRIMARY KEY;

ALTER TABLE `PORTO` MODIFY `id_porto` INTEGER NOT NULL;

ALTER TABLE `PORTO` MODIFY `descrizione` VARCHAR(60);

ALTER TABLE `PORTO` MODIFY `nota` VARCHAR(254);

ALTER TABLE `PORTO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `PORTO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `PORTO` ADD CONSTRAINT `PK_PORTO` 
    PRIMARY KEY (`id_porto`);

ALTER TABLE `PORTO` MODIFY `id_porto` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Add table "LISTINO_SERVIZI_PERS"                                       #
# ---------------------------------------------------------------------- #

CREATE TABLE `LISTINO_SERVIZI_PERS` (
    `id_listinoServiziPers` INTEGER NOT NULL AUTO_INCREMENT,
    `id_articolo` INTEGER,
    `id_clifor` INTEGER,
    `flgUdm` INTEGER,
    `flgTipoLP` INTEGER,
    `percLP` DECIMAL(5,2),
    `prezzoLP` DECIMAL(18,4),
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    `id_aspetto` INTEGER,
    `flgMinimoTassabile` INTEGER,
    CONSTRAINT `PK_LISTINO_SERVIZI_PERS` PRIMARY KEY (`id_listinoServiziPers`)
);

CREATE INDEX `IDX_LISTINO_SERVIZI_PERS_1` ON `LISTINO_SERVIZI_PERS` (`id_articolo`);

CREATE INDEX `IDX_LISTINO_SERVIZI_PERS_2` ON `LISTINO_SERVIZI_PERS` (`id_clifor`);

CREATE UNIQUE INDEX `IDX_LISTINO_SERVIZI_PERS_3` ON `LISTINO_SERVIZI_PERS` (`id_articolo`,`id_clifor`);

# ---------------------------------------------------------------------- #
# Add table "HELP_ALLEGATO"                                              #
# ---------------------------------------------------------------------- #

CREATE TABLE `HELP_ALLEGATO` (
    `id_helpAllegato` INTEGER NOT NULL AUTO_INCREMENT,
    `id_help` INTEGER,
    `flgTipo` INTEGER,
    `nomeFile` VARCHAR(60),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_HELP_ALLEGATO` PRIMARY KEY (`id_helpAllegato`)
);

# ---------------------------------------------------------------------- #
# Add table "ALLEGATO_CLIFOR"                                            #
# ---------------------------------------------------------------------- #

CREATE TABLE `ALLEGATO_CLIFOR` (
    `id_allegatoClifor` INTEGER NOT NULL AUTO_INCREMENT,
    `id_clifor` INTEGER,
    `id_tipoAllegatoClifor` INTEGER,
    `nomeFile` VARCHAR(254),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `descrizioneAllegato` VARCHAR(254),
    PRIMARY KEY (`id_allegatoClifor`)
);

# ---------------------------------------------------------------------- #
# Add table "TIPO_ALLEGATO_CLIFOR"                                       #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPO_ALLEGATO_CLIFOR` (
    `id_tipoAllegatoClifor` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(60),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_TIPO_ALLEGATO_CLIFOR` PRIMARY KEY (`id_tipoAllegatoClifor`)
);

# ---------------------------------------------------------------------- #
# Add table "TIPO_ALLEGATO_ARTICOLO"                                     #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPO_ALLEGATO_ARTICOLO` (
    `id_tipoAllegatoArticolo` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(40),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_TIPO_ALLEGATO_ARTICOLO` PRIMARY KEY (`id_tipoAllegatoArticolo`)
);

# ---------------------------------------------------------------------- #
# Add table "ALLEGATO_DOCUMENTO"                                         #
# ---------------------------------------------------------------------- #

CREATE TABLE `ALLEGATO_DOCUMENTO` (
    `id_allegatoDocumento` INTEGER NOT NULL AUTO_INCREMENT,
    `id_documento` INTEGER,
    `id_tipoAllegatoDocumento` INTEGER,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `nomeFile` VARCHAR(254),
    `descrizioneAllegato` VARCHAR(254),
    CONSTRAINT `PK_ALLEGATO_DOCUMENTO` PRIMARY KEY (`id_allegatoDocumento`)
);

# ---------------------------------------------------------------------- #
# Add table "TIPO_ALLEGATO_DOCUMENTO"                                    #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPO_ALLEGATO_DOCUMENTO` (
    `id_tipoAllegatoDocumento` INTEGER NOT NULL AUTO_INCREMENT,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `descrizione` VARCHAR(40),
    CONSTRAINT `PK_TIPO_ALLEGATO_DOCUMENTO` PRIMARY KEY (`id_tipoAllegatoDocumento`)
);

# ---------------------------------------------------------------------- #
# Add table "TIPO_NEWS"                                                  #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPO_NEWS` (
    `id_tipoNews` INTEGER NOT NULL AUTO_INCREMENT,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `flgPubblica` INTEGER,
    CONSTRAINT `PK_TIPO_NEWS` PRIMARY KEY (`id_tipoNews`)
);

# ---------------------------------------------------------------------- #
# Modify table "ALLEGATO_TEMPLATE_MSG"                                   #
# ---------------------------------------------------------------------- #

DROP INDEX `TEMPLATE_MSG_ALLEGATO_TEMPLATE_MSG` ON `ALLEGATO_TEMPLATE_MSG`;

# Remove autoinc for PK drop #

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` MODIFY `id_allegatoTemplateMsg` INTEGER(11) NOT NULL;

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` DROP PRIMARY KEY;

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` MODIFY `id_allegatoTemplateMsg` INTEGER NOT NULL;

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` MODIFY `id_templateMsg` INTEGER;

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` MODIFY `nomeFile` VARCHAR(60);

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` ADD CONSTRAINT `PK_ALLEGATO_TEMPLATE_MSG` 
    PRIMARY KEY (`id_allegatoTemplateMsg`);

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` MODIFY `id_allegatoTemplateMsg` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "ALLEGATO_CODA_MESSAGGI"                                  #
# ---------------------------------------------------------------------- #

DROP INDEX `CODA_MESSAGGI_ALLEGATO_CODA_MESSAGGI` ON `ALLEGATO_CODA_MESSAGGI`;

# Remove autoinc for PK drop #

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` MODIFY `id_allegatoCodaMessaggi` INTEGER(11) NOT NULL;

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` DROP PRIMARY KEY;

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` MODIFY `id_allegatoCodaMessaggi` INTEGER NOT NULL;

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` MODIFY `id_codaMessaggi` INTEGER;

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` MODIFY `nomeFile` VARCHAR(60);

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` ADD CONSTRAINT `PK_ALLEGATO_CODA_MESSAGGI` 
    PRIMARY KEY (`id_allegatoCodaMessaggi`);

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` MODIFY `id_allegatoCodaMessaggi` INTEGER NOT NULL AUTO_INCREMENT;

# ---------------------------------------------------------------------- #
# Modify table "LISTINO_TIPO"                                            #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_LISTINO_TIPO_2` ON `LISTINO_TIPO`;

DROP INDEX `TIPO_LISTINO_TIPO` ON `LISTINO_TIPO`;

DROP INDEX `IDX_LISTINO_TIPO_1` ON `LISTINO_TIPO`;

# Remove autoinc for PK drop #

ALTER TABLE `LISTINO_TIPO` MODIFY `id_listinoTipo` INTEGER(11) NOT NULL;

ALTER TABLE `LISTINO_TIPO` ALTER COLUMN `lastUpdTmst` DROP DEFAULT;

ALTER TABLE `LISTINO_TIPO` DROP PRIMARY KEY;

ALTER TABLE `LISTINO_TIPO` MODIFY `id_listinoTipo` INTEGER NOT NULL;

ALTER TABLE `LISTINO_TIPO` MODIFY `flgTipoLT` INTEGER;

ALTER TABLE `LISTINO_TIPO` MODIFY `lastUpdId_user` INTEGER;

ALTER TABLE `LISTINO_TIPO` MODIFY `lastUpdTmst` TIMESTAMP;

ALTER TABLE `LISTINO_TIPO` MODIFY `id_listino` INTEGER;

ALTER TABLE `LISTINO_TIPO` MODIFY `indiciTipo` VARCHAR(767);

ALTER TABLE `LISTINO_TIPO` ADD CONSTRAINT `PK_LISTINO_TIPO` 
    PRIMARY KEY (`id_listinoTipo`);

ALTER TABLE `LISTINO_TIPO` MODIFY `id_listinoTipo` INTEGER NOT NULL AUTO_INCREMENT;

CREATE UNIQUE INDEX `IDX_LISTINO_TIPO_2` ON `LISTINO_TIPO` (`id_listino`,`id_tipo`);

CREATE INDEX `IDX_LISTINO_TIPO_1` ON `LISTINO_TIPO` (`indiciTipo`);

# ---------------------------------------------------------------------- #
# Add table "PROMOZIONE"                                                 #
# ---------------------------------------------------------------------- #

CREATE TABLE `PROMOZIONE` (
    `id_promozione` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione_it` VARCHAR(254),
    `dataInizio` DATE,
    `dataFine` DATE,
    `percSconto` INTEGER,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    `codicePromozione` VARCHAR(30),
    `descrizione_en` VARCHAR(254),
    CONSTRAINT `PK_PROMOZIONE` PRIMARY KEY (`id_promozione`)
);

CREATE UNIQUE INDEX `IDX_PROMOZIONE_1` ON `PROMOZIONE` (`codicePromozione`);

# ---------------------------------------------------------------------- #
# Add table "DESC_TXT_LANG"                                              #
# ---------------------------------------------------------------------- #

CREATE TABLE `DESC_TXT_LANG` (
    `tabella` CHAR(40) NOT NULL,
    `idTabella` INTEGER NOT NULL,
    `campo` CHAR(40) NOT NULL,
    `lang` CHAR(3) NOT NULL,
    `descrizione` TEXT CHARACTER SET utf8,
    `descrizione254` VARCHAR(254) CHARACTER SET utf8,
    CONSTRAINT `PK_DESC_TXT_LANG` PRIMARY KEY (`tabella`, `idTabella`, `campo`, `lang`)
);

# ---------------------------------------------------------------------- #
# Add table "VETRINA"                                                    #
# ---------------------------------------------------------------------- #

CREATE TABLE `VETRINA` (
    `id_vetrina` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(30),
    CONSTRAINT `PK_VETRINA` PRIMARY KEY (`id_vetrina`)
);

# ---------------------------------------------------------------------- #
# Add table "ARTICOLO_TAGLIA"                                            #
# ---------------------------------------------------------------------- #

CREATE TABLE `ARTICOLO_TAGLIA` (
    `id_articoloTaglia` INTEGER NOT NULL AUTO_INCREMENT,
    `id_articolo` INTEGER,
    `id_articoloVariante` INTEGER,
    `id_taglia` INTEGER,
    `codiceAT` CHAR(40),
    `flgDispo` INTEGER,
    CONSTRAINT `PK_ARTICOLO_TAGLIA` PRIMARY KEY (`id_articoloTaglia`)
);

# ---------------------------------------------------------------------- #
# Add table "COMPONENTE"                                                 #
# ---------------------------------------------------------------------- #

CREATE TABLE `COMPONENTE` (
    `id_componente` INTEGER NOT NULL AUTO_INCREMENT,
    `sigla` VARCHAR(5) NOT NULL,
    CONSTRAINT `PK_COMPONENTE` PRIMARY KEY (`id_componente`),
    CONSTRAINT `TUC_COMPONENTE_1` UNIQUE (`sigla`)
);

# ---------------------------------------------------------------------- #
# Add table "ARTICOLO_COMPONENTE"                                        #
# ---------------------------------------------------------------------- #

CREATE TABLE `ARTICOLO_COMPONENTE` (
    `id_articoloComponente` INTEGER NOT NULL AUTO_INCREMENT,
    `id_componente` INTEGER,
    `id_articolo` INTEGER,
    `perc` DECIMAL(5,2),
    CONSTRAINT `PK_ARTICOLO_COMPONENTE` PRIMARY KEY (`id_articoloComponente`)
);

# ---------------------------------------------------------------------- #
# Add table "LISTINO_ARTICOLO"                                           #
# ---------------------------------------------------------------------- #

CREATE TABLE `LISTINO_ARTICOLO` (
    `id_listinoArticolo` INTEGER NOT NULL AUTO_INCREMENT,
    `id_listino` INTEGER,
    `id_articolo` INTEGER,
    `prezzoLA` DECIMAL(18,4),
    `id_articoloVariante` INTEGER,
    `percLA` DECIMAL(5,2),
    `prezzoOfferta` DECIMAL(18,4),
    `dataScadenzaOfferta` DATE,
    CONSTRAINT `PK_LISTINO_ARTICOLO` PRIMARY KEY (`id_listinoArticolo`)
);

# ---------------------------------------------------------------------- #
# Add table "CLIFOR_AGENTE"                                              #
# ---------------------------------------------------------------------- #

CREATE TABLE `CLIFOR_AGENTE` (
    `id_cliforAgente` INTEGER NOT NULL AUTO_INCREMENT,
    `id_cliente` INTEGER,
    `id_agente` INTEGER,
    `percCliforAgente` DECIMAL(5,2),
    CONSTRAINT `PK_CLIFOR_AGENTE` PRIMARY KEY (`id_cliforAgente`)
);

CREATE UNIQUE INDEX `IDX_CLIFOR_AGENTE_1` ON `CLIFOR_AGENTE` (`id_cliente`,`id_agente`);

# ---------------------------------------------------------------------- #
# Add table "DOCUMENTO_AGENTE"                                           #
# ---------------------------------------------------------------------- #

CREATE TABLE `DOCUMENTO_AGENTE` (
    `id_documentoAgente` INTEGER NOT NULL AUTO_INCREMENT,
    `id_documento` INTEGER,
    `id_clifor` INTEGER,
    `percDocumentoAgente` DECIMAL(5,2),
    CONSTRAINT `PK_DOCUMENTO_AGENTE` PRIMARY KEY (`id_documentoAgente`)
);

# ---------------------------------------------------------------------- #
# Add table "CLIFOR_ARTICOLO"                                            #
# ---------------------------------------------------------------------- #

CREATE TABLE `CLIFOR_ARTICOLO` (
    `id_cliforArticolo` INTEGER NOT NULL AUTO_INCREMENT,
    `percArticolo` DECIMAL(5,2),
    `id_progettista` INTEGER,
    `id_articolo` INTEGER,
    CONSTRAINT `PK_CLIFOR_ARTICOLO` PRIMARY KEY (`id_cliforArticolo`)
);

# ---------------------------------------------------------------------- #
# Add table "RIGA_DOCUMENTO_PROGETTISTA"                                 #
# ---------------------------------------------------------------------- #

CREATE TABLE `RIGA_DOCUMENTO_PROGETTISTA` (
    `id_rigaDocumentoProgettista` INTEGER NOT NULL AUTO_INCREMENT,
    `id_rigaDocumento` INTEGER,
    `id_articolo` INTEGER,
    `id_clifor` INTEGER,
    `percArticolo` DECIMAL(5,2),
    `importoRiga` DECIMAL(18,4),
    `scontoRiga` DECIMAL(5,2),
    CONSTRAINT `PK_RIGA_DOCUMENTO_PROGETTISTA` PRIMARY KEY (`id_rigaDocumentoProgettista`)
);

# ---------------------------------------------------------------------- #
# Add table "RIGA_DOCUMENTO_P_M"                                         #
# ---------------------------------------------------------------------- #

CREATE TABLE `RIGA_DOCUMENTO_P_M` (
    `id_rigaDocumento` INTEGER NOT NULL,
    `id_rigaDocumentoPrelevata` INTEGER NOT NULL,
    `quantitaPrelevata` DOUBLE,
    CONSTRAINT `PK_RIGA_DOCUMENTO_P_M` PRIMARY KEY (`id_rigaDocumento`, `id_rigaDocumentoPrelevata`)
);

# ---------------------------------------------------------------------- #
# Add table "DITTA"                                                      #
# ---------------------------------------------------------------------- #

CREATE TABLE `DITTA` (
    `id_ditta` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(254),
    `database` VARCHAR(40),
    `user` VARCHAR(40),
    `pwd` VARCHAR(40),
    `initalCons` INTEGER,
    `maxCons` INTEGER,
    `timeout` INTEGER,
    `reuseCons` INTEGER,
    `maxConnectionHits` INTEGER,
    `connectionLifeTime` INTEGER,
    `dbDriver` INTEGER,
    CONSTRAINT `PK_DITTA` PRIMARY KEY (`id_ditta`)
);
INSERT INTO DITTA (id_ditta, descrizione) values (1, 'default' );

# ---------------------------------------------------------------------- #
# Add table "USER_DITTA"                                                 #
# ---------------------------------------------------------------------- #

CREATE TABLE `USER_DITTA` (
    `id_userDitta` INTEGER NOT NULL AUTO_INCREMENT,
    `id_ditta` INTEGER,
    `id_users` INTEGER,
    CONSTRAINT `PK_USER_DITTA` PRIMARY KEY (`id_userDitta`)
);
insert into USER_DITTA (id_ditta,id_users) values(1,1);

CREATE UNIQUE INDEX `IDX_USER_DITTA_1` ON `USER_DITTA` (id_users, id_ditta);

# ---------------------------------------------------------------------- #
# Add table "MOVIMENTO"                                                  #
# ---------------------------------------------------------------------- #

CREATE TABLE `MOVIMENTO` (
    `id_movimento` INTEGER NOT NULL AUTO_INCREMENT,
    `id_rigaDocumento` INTEGER,
    `id_articolo` INTEGER,
    `id_articoloVariante` INTEGER,
    `id_articoloTaglia` INTEGER,
    `id_magFisico` INTEGER,
    `id_clifor` INTEGER,
    `seriale` VARCHAR(30),
    `kg` DOUBLE,
    `mt` DOUBLE,
    `nr` DOUBLE,
    `id_rigaDocumentoP` INTEGER,
    `id_causaleMagazzino` INTEGER,
    `dataMovimento` DATE,
    CONSTRAINT `PK_MOVIMENTO` PRIMARY KEY (`id_movimento`)
);

CREATE INDEX `IDX_MOVIMENTO_1` ON `MOVIMENTO` (`seriale`);

# ---------------------------------------------------------------------- #
# Add table "TIPOLOGIA_ARTICOLO"                                         #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPOLOGIA_ARTICOLO` (
    `id_tipologiaArticolo` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(60),
    `flgUdm` INTEGER,
    `flgKg` INTEGER,
    `flgMt` INTEGER,
    `flgNr` INTEGER,
    CONSTRAINT `PK_TIPOLOGIA_ARTICOLO` PRIMARY KEY (`id_tipologiaArticolo`)
);

# ---------------------------------------------------------------------- #
# Add table "TIPO_CLIFOR"                                                #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPO_CLIFOR` (
    `id_tipoClifor` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(60),
    `flgTipo` CHAR(1),
    `flgTipologia` INTEGER,
    CONSTRAINT `PK_TIPO_CLIFOR` PRIMARY KEY (`id_tipoClifor`)
);

# ---------------------------------------------------------------------- #
# Add table "CLIFOR_TIPO_CLIFOR"                                         #
# ---------------------------------------------------------------------- #

CREATE TABLE `CLIFOR_TIPO_CLIFOR` (
    `id_cliforTipoClifor` INTEGER NOT NULL AUTO_INCREMENT,
    `id_clifor` INTEGER,
    `id_tipoClifor` INTEGER,
    CONSTRAINT `PK_CLIFOR_TIPO_CLIFOR` PRIMARY KEY (`id_cliforTipoClifor`)
);

# ---------------------------------------------------------------------- #
# Add table "MAIL_NEWSLETTER"                                            #
# ---------------------------------------------------------------------- #

CREATE TABLE `MAIL_NEWSLETTER` (
    `id_mailNewsletter` INTEGER NOT NULL AUTO_INCREMENT,
    `eMail` VARCHAR(255),
    `id_templateMsg` INTEGER,
    `dataTemplate` DATE,
    CONSTRAINT `PK_MAIL_NEWSLETTER` PRIMARY KEY (`id_mailNewsletter`)
);

CREATE UNIQUE INDEX `IDX_MAIL_NEWSLETTER_1` ON `MAIL_NEWSLETTER` (`eMail`);

# ---------------------------------------------------------------------- #
# Add table "USER_CLIFOR"                                                #
# ---------------------------------------------------------------------- #

CREATE TABLE `USER_CLIFOR` (
    `id_userClifor` INTEGER NOT NULL AUTO_INCREMENT,
    `id_users` INTEGER,
    `id_clifor` INTEGER,
    CONSTRAINT `PK_USER_CLIFOR` PRIMARY KEY (`id_userClifor`)
);

# ---------------------------------------------------------------------- #
# Add table "NEWS_USERS"                                                 #
# ---------------------------------------------------------------------- #

CREATE TABLE `NEWS_USERS` (
    `id_newsUsers` INTEGER NOT NULL AUTO_INCREMENT,
    `id_news` INTEGER,
    `id_users` INTEGER,
    `tmstInvio` TIMESTAMP,
    `result` VARCHAR(254),
    CONSTRAINT `PK_NEWS_USERS` PRIMARY KEY (`id_newsUsers`)
);

# ---------------------------------------------------------------------- #
# Add table "INCASSO_PAGAMENTO"                                          #
# ---------------------------------------------------------------------- #

CREATE TABLE `INCASSO_PAGAMENTO` (
    `id_incassoPagamento` INTEGER NOT NULL AUTO_INCREMENT,
    `dataIP` DATE,
    `importoIP` DECIMAL(18,4),
    `notaIP` TEXT,
    `id_documento` INTEGER,
    `id_movimento` INTEGER,
    CONSTRAINT `PK_INCASSO_PAGAMENTO` PRIMARY KEY (`id_incassoPagamento`)
);

# ---------------------------------------------------------------------- #
# Add table "BANCA"                                                      #
# ---------------------------------------------------------------------- #

CREATE TABLE `BANCA` (
    `id_banca` INTEGER NOT NULL AUTO_INCREMENT,
    `id_comune` INTEGER,
    `descrizione` VARCHAR(60),
    `iban` CHAR(27),
    `indirizzo` VARCHAR(60),
    `telefono` VARCHAR(30),
    `email` VARCHAR(30),
    `bic` VARCHAR(30),
    `capZona` VARCHAR(10),
    CONSTRAINT `PK_BANCA` PRIMARY KEY (`id_banca`)
);

# ---------------------------------------------------------------------- #
# Add table "DOCUMENTO_PAGAMENTO"                                        #
# ---------------------------------------------------------------------- #

CREATE TABLE `DOCUMENTO_PAGAMENTO` (
    `id_documentoPagamento` INTEGER NOT NULL AUTO_INCREMENT,
    `id_documento` INTEGER,
    `id_tipoPagamento` INTEGER,
    `data` DATE,
    `importo` DECIMAL(18,4),
    `nota` VARCHAR(254),
    `tipoMovimento` INTEGER,
    CONSTRAINT `PK_DOCUMENTO_PAGAMENTO` PRIMARY KEY (`id_documentoPagamento`)
);

# ---------------------------------------------------------------------- #
# Add foreign key constraints                                            #
# ---------------------------------------------------------------------- #

ALTER TABLE `USERS` ADD CONSTRAINT `USER_PROFILE_USERS` 
    FOREIGN KEY (`id_userProfile`) REFERENCES `USER_PROFILE` (`id_userProfile`);

ALTER TABLE `USERS` ADD CONSTRAINT `POSTAZIONE_USERS` 
    FOREIGN KEY (`id_postazione`) REFERENCES `POSTAZIONE` (`id_postazione`);

ALTER TABLE `USERS` ADD CONSTRAINT `CLIFOR_USERS` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `USER_ACCESS` ADD CONSTRAINT `ACCESS_USER_ACCESS` 
    FOREIGN KEY (`id_access`) REFERENCES `ACCESS` (`id_access`);

ALTER TABLE `USER_ACCESS` ADD CONSTRAINT `USERS_USER_ACCESS` 
    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);

ALTER TABLE `LOG` ADD CONSTRAINT `USERS_LOG` 
    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);

ALTER TABLE `LOG` ADD CONSTRAINT `BLACKLIST_LOG` 
    FOREIGN KEY (`id_blacklist`) REFERENCES `BLACKLIST` (`id_blacklist`);

ALTER TABLE `USER_ACCESS_GROUP` ADD CONSTRAINT `ACCESS_GROUP_USER_ACCESS_GROUP` 
    FOREIGN KEY (`id_accessGroup`) REFERENCES `ACCESS_GROUP` (`id_accessGroup`);

ALTER TABLE `USER_ACCESS_GROUP` ADD CONSTRAINT `USERS_USER_ACCESS_GROUP` 
    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);

ALTER TABLE `ACCESS_GROUP_ACCESS` ADD CONSTRAINT `ACCESS_ACCESS_GROUP_ACCESS` 
    FOREIGN KEY (`id_access`) REFERENCES `ACCESS` (`id_access`);

ALTER TABLE `ACCESS_GROUP_ACCESS` ADD CONSTRAINT `ACCESS_GROUP_ACCESS_GROUP_ACCESS` 
    FOREIGN KEY (`id_accessGroup`) REFERENCES `ACCESS_GROUP` (`id_accessGroup`);

ALTER TABLE `REPARTO` ADD CONSTRAINT `IVA_REPARTO` 
    FOREIGN KEY (`id_iva`) REFERENCES `IVA` (`id_iva`);

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `MARCA_ARTICOLO` 
    FOREIGN KEY (`id_marca`) REFERENCES `MARCA` (`id_marca`);

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `COLORE_ARTICOLO` 
    FOREIGN KEY (`id_colore`) REFERENCES `COLORE` (`id_colore`);

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `TIPO_ARTICOLO` 
    FOREIGN KEY (`id_tipo`) REFERENCES `TIPO` (`id_tipo`);

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `IVA_ARTICOLO` 
    FOREIGN KEY (`id_iva`) REFERENCES `IVA` (`id_iva`);

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `TIPO_TAGLIA_ARTICOLO` 
    FOREIGN KEY (`id_tipoTaglia`) REFERENCES `TIPO_TAGLIA` (`id_tipoTaglia`);

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `ARTICOLO_VARIANTE_ARTICOLO` 
    FOREIGN KEY (`id_articoloVarianteBase`) REFERENCES `ARTICOLO_VARIANTE` (`id_articoloVariante`);

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `TABELLA_TAGLIA_ARTICOLO` 
    FOREIGN KEY (`id_tabellaTaglia`) REFERENCES `TABELLA_TAGLIA` (`id_tabellaTaglia`);

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `TIPO_ACCESSORIO_ARTICOLO` 
    FOREIGN KEY (`id_tipoAccessorio`) REFERENCES `TIPO_ACCESSORIO` (`id_tipoAccessorio`);

ALTER TABLE `ARTICOLO` ADD CONSTRAINT `VETRINA_ARTICOLO` 
    FOREIGN KEY (`id_vetrina`) REFERENCES `VETRINA` (`id_vetrina`);

ALTER TABLE `CLIFOR` ADD CONSTRAINT `TIPO_PAGAMENTO_CLIFOR` 
    FOREIGN KEY (`id_tipoPagamento`) REFERENCES `TIPO_PAGAMENTO` (`id_tipoPagamento`);

ALTER TABLE `CLIFOR` ADD CONSTRAINT `NAZIONE_CLIFOR` 
    FOREIGN KEY (`id_nazione`) REFERENCES `NAZIONE` (`id_nazione`);

ALTER TABLE `CLIFOR` ADD CONSTRAINT `COMUNE_CLIFOR` 
    FOREIGN KEY (`id_comune`) REFERENCES `COMUNE` (`id_comune`);

ALTER TABLE `CLIFOR` ADD CONSTRAINT `COMUNE_CLIFOR_nasc` 
    FOREIGN KEY (`id_comuneNascita`) REFERENCES `COMUNE` (`id_comune`);

ALTER TABLE `CLIFOR` ADD CONSTRAINT `LISTINO_CLIFOR` 
    FOREIGN KEY (`id_listino`) REFERENCES `LISTINO` (`id_listino`);

ALTER TABLE `CARATTERISTICA_ARTICOLO` ADD CONSTRAINT `CARATTERISTICA_CARATTERISTICA_ARTICOLO` 
    FOREIGN KEY (`id_caratteristica`) REFERENCES `CARATTERISTICA` (`id_caratteristica`);

ALTER TABLE `CARATTERISTICA_ARTICOLO` ADD CONSTRAINT `LISTA_CARATTERISTICA_ARTICOLO` 
    FOREIGN KEY (`id_lista`) REFERENCES `LISTA` (`id_lista`);

#ALTER TABLE `CARATTERISTICA_ARTICOLO` ADD CONSTRAINT `ARTICOLO_CARATTERISTICA_ARTICOLO` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

ALTER TABLE `LISTA` ADD CONSTRAINT `CARATTERISTICA_LISTA` 
    FOREIGN KEY (`id_caratteristica`) REFERENCES `CARATTERISTICA` (`id_caratteristica`);

ALTER TABLE `TIPO` ADD CONSTRAINT `TIPO_TIPO` 
    FOREIGN KEY (`id_tipoPadre`) REFERENCES `TIPO` (`id_tipo`);

ALTER TABLE `TIPO` ADD CONSTRAINT `REPARTO_TIPO` 
    FOREIGN KEY (`id_reparto`) REFERENCES `REPARTO` (`id_reparto`);

ALTER TABLE `TIPO` ADD CONSTRAINT `TIPO_TAGLIA_TIPO` 
    FOREIGN KEY (`id_tipoTaglia`) REFERENCES `TIPO_TAGLIA` (`id_tipoTaglia`);

ALTER TABLE `TIPO` ADD CONSTRAINT `TIPOLOGIA_ARTICOLO_TIPO` 
    FOREIGN KEY (`id_tipologiaArticolo`) REFERENCES `TIPOLOGIA_ARTICOLO` (`id_tipologiaArticolo`);

#ALTER TABLE `C_TIPO` ADD CONSTRAINT `TIPO_C_TIPO` 
#    FOREIGN KEY (`id_tipo`) REFERENCES `TIPO` (`id_tipo`);


ALTER TABLE `C_TIPO` ADD CONSTRAINT `CARATTERISTICA_C_TIPO` 
    FOREIGN KEY (`id_caratteristica`) REFERENCES `CARATTERISTICA` (`id_caratteristica`);

ALTER TABLE `ACCESSORIO` ADD CONSTRAINT `TIPO_ACCESSORIO_ACCESSORIO` 
    FOREIGN KEY (`id_tipoAccessorio`) REFERENCES `TIPO_ACCESSORIO` (`id_tipoAccessorio`);

#ALTER TABLE `ACCESSORIO` ADD CONSTRAINT `ARTICOLO_ACCESSORIO_Assoc` 
#    FOREIGN KEY (`id_articoloAssociato`) REFERENCES `ARTICOLO` (`id_articolo`);

#ALTER TABLE `ACCESSORIO` ADD CONSTRAINT `ARTICOLO_ACCESSORIO` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

#ALTER TABLE `ACCESSORIO` ADD CONSTRAINT `ARTICOLO_VARIANTE_ACCESSORIO_ass` 
#    FOREIGN KEY (`id_articoloVarianteAssociato`) REFERENCES `ARTICOLO_VARIANTE` (`id_articoloVariante`);



#ALTER TABLE `ACCESSORIO` ADD CONSTRAINT `ARTICOLO_VARIANTE_ACCESSORIO` 
#    FOREIGN KEY (`id_articoloVariante`) REFERENCES `ARTICOLO_VARIANTE` (`id_articoloVariante`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `TIPO_DOCUMENTO_DOCUMENTO` 
    FOREIGN KEY (`id_tipoDocumento`) REFERENCES `TIPO_DOCUMENTO` (`id_tipoDocumento`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `VETTORE_DOCUMENTO` 
    FOREIGN KEY (`id_vettore`) REFERENCES `VETTORE` (`id_vettore`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `TIPO_PAGAMENTO_DOCUMENTO` 
    FOREIGN KEY (`id_tipoPagamento`) REFERENCES `TIPO_PAGAMENTO` (`id_tipoPagamento`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `CLIFOR_DOCUMENTO` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `ASPETTO_DOCUMENTO` 
    FOREIGN KEY (`id_aspetto`) REFERENCES `ASPETTO` (`id_aspetto`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `ESERCIZIO_DOCUMENTO` 
    FOREIGN KEY (`id_esercizio`) REFERENCES `ESERCIZIO` (`id_esercizio`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `DOCUMENTO_DOCUMENTO` 
    FOREIGN KEY (`id_documentoFiglio`) REFERENCES `DOCUMENTO` (`id_documento`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `COMUNE_DOCUMENTO` 
    FOREIGN KEY (`id_comuneSped`) REFERENCES `COMUNE` (`id_comune`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `CAUSALE_TRASPORTO_DOCUMENTO` 
    FOREIGN KEY (`id_causaleTrasporto`) REFERENCES `CAUSALE_TRASPORTO` (`id_causaleTrasporto`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `DESTINAZIONE_DIVERSA_DOCUMENTO` 
    FOREIGN KEY (`id_destinazioneDiversa`) REFERENCES `DESTINAZIONE_DIVERSA` (`id_destinazioneDiversa`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `USERS_DOCUMENTO_interv` 
    FOREIGN KEY (`id_usersIntervento`) REFERENCES `USERS` (`id_users`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `USERS_DOCUMENTO_chiusura` 
    FOREIGN KEY (`id_usersChiusura`) REFERENCES `USERS` (`id_users`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `USERS_DOCUMENTO` 
    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `PORTO_DOCUMENTO` 
    FOREIGN KEY (`id_porto`) REFERENCES `PORTO` (`id_porto`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `CONTATORE_DOCUMENTO` 
    FOREIGN KEY (`id_contatore`) REFERENCES `CONTATORE` (`id_contatore`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `CLIFOR_DOCUMENTO_LISTINO` 
    FOREIGN KEY (`id_cliforListino`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `IVA_DOCUMENTO` 
    FOREIGN KEY (`id_ivaDoc`) REFERENCES `IVA` (`id_iva`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `MAG_FISICO_DOCUMENTO_PARTENZA_PARTENZA` 
    FOREIGN KEY (`id_magFisicoPartenza`) REFERENCES `MAG_FISICO` (`id_magFisico`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `MAG_FISICO_DOCUMENTO_ARRIVO_ARRIVO` 
    FOREIGN KEY (`id_magFisicoArrivo`) REFERENCES `MAG_FISICO` (`id_magFisico`);

ALTER TABLE `RIGA_DOCUMENTO` ADD CONSTRAINT `ARTICOLO_RIGA_DOCUMENTO` 
    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

ALTER TABLE `RIGA_DOCUMENTO` ADD CONSTRAINT `DOCUMENTO_RIGA_DOCUMENTO` 
    FOREIGN KEY (`id_documento`) REFERENCES `DOCUMENTO` (`id_documento`);

ALTER TABLE `RIGA_DOCUMENTO` ADD CONSTRAINT `IVA_RIGA_DOCUMENTO` 
    FOREIGN KEY (`id_iva`) REFERENCES `IVA` (`id_iva`);

ALTER TABLE `RIGA_DOCUMENTO` ADD CONSTRAINT `ARTICOLO_VARIANTE_RIGA_DOCUMENTO` 
    FOREIGN KEY (`id_articoloVariante`) REFERENCES `ARTICOLO_VARIANTE` (`id_articoloVariante`);

ALTER TABLE `RIGA_DOCUMENTO` ADD CONSTRAINT `REPARTO_RIGA_DOCUMENTO` 
    FOREIGN KEY (`id_reparto`) REFERENCES `REPARTO` (`id_reparto`);

ALTER TABLE `RIGA_DOCUMENTO` ADD CONSTRAINT `DOCUMENTOpadre_RIGA_DOCUMENTO` 
    FOREIGN KEY (`id_documentoPadre`) REFERENCES `DOCUMENTO` (`id_documento`);

ALTER TABLE `RIGA_DOCUMENTO` ADD CONSTRAINT `RIGA_DOCUMENTO_RIGA_DOCUMENTO` 
    FOREIGN KEY (`id_rigaDocumentoPadre`) REFERENCES `RIGA_DOCUMENTO` (`id_rigaDocumento`);

ALTER TABLE `RIGA_DOCUMENTO` ADD CONSTRAINT `ARTICOLO_TAGLIA_RIGA_DOCUMENTO` 
    FOREIGN KEY (`id_articoloTaglia`) REFERENCES `ARTICOLO_TAGLIA` (`id_articoloTaglia`);

ALTER TABLE `TIPO_DOCUMENTO` ADD CONSTRAINT `CAUSALE_MAGAZZINO_TIPO_DOCUMENTO` 
    FOREIGN KEY (`id_causaleMagazzino`) REFERENCES `CAUSALE_MAGAZZINO` (`id_causaleMagazzino`);

ALTER TABLE `TIPO_DOCUMENTO` ADD CONSTRAINT `CONTATORE_TIPO_DOCUMENTO` 
    FOREIGN KEY (`id_contatore`) REFERENCES `CONTATORE` (`id_contatore`);

ALTER TABLE `TIPO_DOCUMENTO` ADD CONSTRAINT `TIPO_DOCUMENTO_TIPO_DOCUMENTO` 
    FOREIGN KEY (`id_tipoDocumentoFiglio`) REFERENCES `TIPO_DOCUMENTO` (`id_tipoDocumento`);

ALTER TABLE `VETTORE` ADD CONSTRAINT `COMUNE_VETTORE` 
    FOREIGN KEY (`id_comune`) REFERENCES `COMUNE` (`id_comune`);

ALTER TABLE `CLIFOR_USERS` ADD CONSTRAINT `CLIFOR_CLIFOR_USERS` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `CLIFOR_USERS` ADD CONSTRAINT `USERS_CLIFOR_USERS` 
    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);

ALTER TABLE `COMUNE` ADD CONSTRAINT `REGIONE_COMUNE` 
    FOREIGN KEY (`id_regione`) REFERENCES `REGIONE` (`id_regione`);

ALTER TABLE `REGIONE` ADD CONSTRAINT `NAZIONE_REGIONE` 
    FOREIGN KEY (`id_nazione`) REFERENCES `NAZIONE` (`id_nazione`);

ALTER TABLE `NEWS` ADD CONSTRAINT `TIPO_NEWS_NEWS` 
    FOREIGN KEY (`id_tipoNews`) REFERENCES `TIPO_NEWS` (`id_tipoNews`);

ALTER TABLE `ALLEGATO_NEWS` ADD CONSTRAINT `NEWS_ALLEGATO_NEWS` 
    FOREIGN KEY (`id_news`) REFERENCES `NEWS` (`id_news`);

ALTER TABLE `TAGLIA` ADD CONSTRAINT `TIPO_TAGLIA_TAGLIA` 
    FOREIGN KEY (`id_tipoTaglia`) REFERENCES `TIPO_TAGLIA` (`id_tipoTaglia`);

ALTER TABLE `ARTICOLO_VARIANTE` ADD CONSTRAINT `ARTICOLO_ARTICOLO_VARIANTE` 
    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

ALTER TABLE `ARTICOLO_VARIANTE` ADD CONSTRAINT `VETRINA_ARTICOLO_VARIANTE` 
    FOREIGN KEY (`id_vetrina`) REFERENCES `VETRINA` (`id_vetrina`);

ALTER TABLE `DISPONIBILITA` ADD CONSTRAINT `ARTICOLO_DISPONIBILITA` 
    FOREIGN KEY (`id_articoloD`) REFERENCES `ARTICOLO` (`id_articolo`);

ALTER TABLE `DISPONIBILITA` ADD CONSTRAINT `ARTICOLO_VARIANTE_DISPONIBILITA` 
    FOREIGN KEY (`id_articoloVarianteD`) REFERENCES `ARTICOLO_VARIANTE` (`id_articoloVariante`);

ALTER TABLE `DISPONIBILITA` ADD CONSTRAINT `MAG_FISICO_DISPONIBILITA` 
    FOREIGN KEY (`id_magFisicoD`) REFERENCES `MAG_FISICO` (`id_magFisico`);

ALTER TABLE `DISPONIBILITA` ADD CONSTRAINT `ARTICOLO_TAGLIA_DISPONIBILITA` 
    FOREIGN KEY (`id_articoloTagliaD`) REFERENCES `ARTICOLO_TAGLIA` (`id_articoloTaglia`);

#ALTER TABLE `ARTICOLO_FORNITORE` ADD CONSTRAINT `ARTICOLO_ARTICOLO_FORNITORE` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

#ALTER TABLE `ARTICOLO_FORNITORE` ADD CONSTRAINT `CLIFOR_ARTICOLO_FORNITORE` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

#ALTER TABLE `ALLEGATO_ARTICOLO` ADD CONSTRAINT `ARTICOLO_ALLEGATO_ARTICOLO` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);


ALTER TABLE `ALLEGATO_ARTICOLO` ADD CONSTRAINT `TIPO_ALLEGATO_ARTICOLO_ALLEGATO_ARTICOLO` 
    FOREIGN KEY (`id_tipoAllegatoArticolo`) REFERENCES `TIPO_ALLEGATO_ARTICOLO` (`id_tipoAllegatoArticolo`);

ALTER TABLE `TABELLA_TAGLIA` ADD CONSTRAINT `TIPO_TAGLIA_TABELLA_TAGLIA` 
    FOREIGN KEY (`id_tipoTaglia`) REFERENCES `TIPO_TAGLIA` (`id_tipoTaglia`);

ALTER TABLE `TAGLIA_MISURE` ADD CONSTRAINT `TABELLA_TAGLIA_TAGLIA_MISURE` 
    FOREIGN KEY (`id_tabellaTaglia`) REFERENCES `TABELLA_TAGLIA` (`id_tabellaTaglia`);

ALTER TABLE `BANNER_STATS` ADD CONSTRAINT `BANNER_BANNER_STATS` 
    FOREIGN KEY (`id_banner`) REFERENCES `BANNER` (`id_banner`);

ALTER TABLE `BANNER` ADD CONSTRAINT `TIPO_BANNER_BANNER` 
    FOREIGN KEY (`id_tipoBanner`) REFERENCES `TIPO_BANNER` (`id_tipoBanner`);

ALTER TABLE `BANNER` ADD CONSTRAINT `CLIFOR_BANNER` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `HELP` ADD CONSTRAINT `HELP_HELP` 
    FOREIGN KEY (`id_helpPadre`) REFERENCES `HELP` (`id_help`);

ALTER TABLE `CAUSALE_MAGAZZINO` ADD CONSTRAINT `MAG_FISICO_CAUSALE_MAGAZZINO_part` 
    FOREIGN KEY (`id_magFisicoPartenza`) REFERENCES `MAG_FISICO` (`id_magFisico`);

ALTER TABLE `CAUSALE_MAGAZZINO` ADD CONSTRAINT `MAG_FISICO_CAUSALE_MAGAZZINO_arr` 
    FOREIGN KEY (`id_magFisicoArrivo`) REFERENCES `MAG_FISICO` (`id_magFisico`);

ALTER TABLE `HELP_REL` ADD CONSTRAINT `HELP_HELP_REL1` 
    FOREIGN KEY (`id_help1`) REFERENCES `HELP` (`id_help`);

ALTER TABLE `HELP_REL` ADD CONSTRAINT `HELP_HELP_REL2` 
    FOREIGN KEY (`id_help`) REFERENCES `HELP` (`id_help`);

ALTER TABLE `DESTINAZIONE_DIVERSA` ADD CONSTRAINT `CLIFOR_DESTINAZIONE_DIVERSA` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `DESTINAZIONE_DIVERSA` ADD CONSTRAINT `NAZIONE_DESTINAZIONE_DIVERSA` 
    FOREIGN KEY (`id_nazioneDD`) REFERENCES `NAZIONE` (`id_nazione`);

ALTER TABLE `DESTINAZIONE_DIVERSA` ADD CONSTRAINT `COMUNE_DESTINAZIONE_DIVERSA` 
    FOREIGN KEY (`id_comuneDD`) REFERENCES `COMUNE` (`id_comune`);

#ALTER TABLE `LISTINO_PERS` ADD CONSTRAINT `ARTICOLO_LISTINO_PERS` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

#ALTER TABLE `LISTINO_PERS` ADD CONSTRAINT `CLIFOR_LISTINO_PERS` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

#ALTER TABLE `LISTINO_PERS` ADD CONSTRAINT `TIPO_LISTINO_PERS` 
#    FOREIGN KEY (`id_tipo`) REFERENCES `TIPO` (`id_tipo`);

ALTER TABLE `POSTAZIONE` ADD CONSTRAINT `REG_CASSA_POSTAZIONE` 
    FOREIGN KEY (`id_regCassa`) REFERENCES `REG_CASSA` (`id_regCassa`);

ALTER TABLE `POSTAZIONE` ADD CONSTRAINT `TIPO_POSTAZIONE_POSTAZIONE` 
    FOREIGN KEY (`id_tipoPostazione`) REFERENCES `TIPO_POSTAZIONE` (`id_tipoPostazione`);

ALTER TABLE `DOC_PREL` ADD CONSTRAINT `TIPO_DOCUMENTO_DOC_PREL_prel` 
    FOREIGN KEY (`id_tipoDocumentoPrel`) REFERENCES `TIPO_DOCUMENTO` (`id_tipoDocumento`);

ALTER TABLE `DOC_PREL` ADD CONSTRAINT `TIPO_DOCUMENTO_DOC_PREL` 
    FOREIGN KEY (`id_tipoDocumento`) REFERENCES `TIPO_DOCUMENTO` (`id_tipoDocumento`);

ALTER TABLE `RIGA_DOCUMENTO_P` ADD CONSTRAINT `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P_PRELEVATA` 
    FOREIGN KEY (`id_rigaDocumentoPrelevata`) REFERENCES `RIGA_DOCUMENTO` (`id_rigaDocumento`);

ALTER TABLE `RIGA_DOCUMENTO_P` ADD CONSTRAINT `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P` 
    FOREIGN KEY (`id_rigaDocumento`) REFERENCES `RIGA_DOCUMENTO` (`id_rigaDocumento`);

ALTER TABLE `HELP_KEYWORD` ADD CONSTRAINT `HELP_HELP_KEYWORD` 
    FOREIGN KEY (`id_help`) REFERENCES `HELP` (`id_help`);

#ALTER TABLE `RIVALUTAZIONE` ADD CONSTRAINT `ARTICOLO_RIVALUTAZIONE` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);


ALTER TABLE `CODA_MESSAGGI` ADD CONSTRAINT `TEMPLATE_MSG_CODA_MESSAGGI` 
    FOREIGN KEY (`id_templateMsg`) REFERENCES `TEMPLATE_MSG` (`id_templateMsg`);

ALTER TABLE `USER_WHITELIST` ADD CONSTRAINT `WHITELIST_USER_WHITELIST` 
    FOREIGN KEY (`id_whitelist`) REFERENCES `WHITELIST` (`id_whitelist`);

#ALTER TABLE `USER_WHITELIST` ADD CONSTRAINT `USERS_USER_WHITELIST` 
#    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);


ALTER TABLE `CONTRATTO` ADD CONSTRAINT `TIPO_CONTRATTO_CONTRATTO` 
    FOREIGN KEY (`id_tipoContratto`) REFERENCES `TIPO_CONTRATTO` (`id_tipoContratto`);

#ALTER TABLE `CONTRATTO` ADD CONSTRAINT `CLIFOR_CONTRATTO` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `DOC_FIGLIO_PADRE` ADD CONSTRAINT `DOCUMENTO_DOC_FIGLIO_PADRE_PADRE` 
    FOREIGN KEY (`id_documentoPadre`) REFERENCES `DOCUMENTO` (`id_documento`);

ALTER TABLE `DOC_FIGLIO_PADRE` ADD CONSTRAINT `DOCUMENTO_DOC_FIGLIO_PADRE_figlio` 
    FOREIGN KEY (`id_documentoFiglio`) REFERENCES `DOCUMENTO` (`id_documento`);

#ALTER TABLE `LISTINO_SERVIZI_PERS` ADD CONSTRAINT `ARTICOLO_LISTINO_SERVIZI_PERS` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);


#ALTER TABLE `LISTINO_SERVIZI_PERS` ADD CONSTRAINT `CLIFOR_LISTINO_SERVIZI_PERS` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

#ALTER TABLE `LISTINO_SERVIZI_PERS` ADD CONSTRAINT `ASPETTO_LISTINO_SERVIZI_PERS` 
#    FOREIGN KEY (`id_aspetto`) REFERENCES `ASPETTO` (`id_aspetto`);

ALTER TABLE `HELP_ALLEGATO` ADD CONSTRAINT `HELP_HELP_ALLEGATO` 
    FOREIGN KEY (`id_help`) REFERENCES `HELP` (`id_help`);

#ALTER TABLE `ALLEGATO_CLIFOR` ADD CONSTRAINT `CLIFOR_ALLEGATO_CLIFOR` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `ALLEGATO_CLIFOR` ADD CONSTRAINT `TIPO_ALLEGATO_CLIFOR_ALLEGATO_CLIFOR` 
    FOREIGN KEY (`id_tipoAllegatoClifor`) REFERENCES `TIPO_ALLEGATO_CLIFOR` (`id_tipoAllegatoClifor`);

#ALTER TABLE `ALLEGATO_DOCUMENTO` ADD CONSTRAINT `DOCUMENTO_ALLEGATO_DOCUMENTO` 
#    FOREIGN KEY (`id_documento`) REFERENCES `DOCUMENTO` (`id_documento`);


ALTER TABLE `ALLEGATO_DOCUMENTO` ADD CONSTRAINT `TIPO_ALLEGATO_DOCUMENTO_ALLEGATO_DOCUMENTO` 
    FOREIGN KEY (`id_tipoAllegatoDocumento`) REFERENCES `TIPO_ALLEGATO_DOCUMENTO` (`id_tipoAllegatoDocumento`);

ALTER TABLE `ALLEGATO_TEMPLATE_MSG` ADD CONSTRAINT `TEMPLATE_MSG_ALLEGATO_TEMPLATE_MSG` 
    FOREIGN KEY (`id_templateMsg`) REFERENCES `TEMPLATE_MSG` (`id_templateMsg`);

ALTER TABLE `ALLEGATO_CODA_MESSAGGI` ADD CONSTRAINT `CODA_MESSAGGI_ALLEGATO_CODA_MESSAGGI` 
    FOREIGN KEY (`id_codaMessaggi`) REFERENCES `CODA_MESSAGGI` (`id_codaMessaggi`);

ALTER TABLE `LISTINO_TIPO` ADD CONSTRAINT `TIPO_LISTINO_TIPO` 
    FOREIGN KEY (`id_tipo`) REFERENCES `TIPO` (`id_tipo`);

ALTER TABLE `LISTINO_TIPO` ADD CONSTRAINT `LISTINO_LISTINO_TIPO` 
    FOREIGN KEY (`id_listino`) REFERENCES `LISTINO` (`id_listino`);

#ALTER TABLE `ARTICOLO_TAGLIA` ADD CONSTRAINT `ARTICOLO_ARTICOLO_TAGLIA` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);



#ALTER TABLE `ARTICOLO_TAGLIA` ADD CONSTRAINT `ARTICOLO_VARIANTE_ARTICOLO_TAGLIA` 
#    FOREIGN KEY (`id_articoloVariante`) REFERENCES `ARTICOLO_VARIANTE` (`id_articoloVariante`);

ALTER TABLE `ARTICOLO_TAGLIA` ADD CONSTRAINT `TAGLIA_ARTICOLO_TAGLIA` 
    FOREIGN KEY (`id_taglia`) REFERENCES `TAGLIA` (`id_taglia`);

ALTER TABLE `ARTICOLO_COMPONENTE` ADD CONSTRAINT `COMPONENTE_ARTICOLO_COMPONENTE` 
    FOREIGN KEY (`id_componente`) REFERENCES `COMPONENTE` (`id_componente`);

#ALTER TABLE `ARTICOLO_COMPONENTE` ADD CONSTRAINT `ARTICOLO_ARTICOLO_COMPONENTE` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);


#ALTER TABLE `LISTINO_ARTICOLO` ADD CONSTRAINT `LISTINO_LISTINO_ARTICOLO` 
#    FOREIGN KEY (`id_listino`) REFERENCES `LISTINO` (`id_listino`);

#ALTER TABLE `LISTINO_ARTICOLO` ADD CONSTRAINT `ARTICOLO_LISTINO_ARTICOLO` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

#ALTER TABLE `LISTINO_ARTICOLO` ADD CONSTRAINT `ARTICOLO_VARIANTE_LISTINO_ARTICOLO` 
#    FOREIGN KEY (`id_articoloVariante`) REFERENCES `ARTICOLO_VARIANTE` (`id_articoloVariante`);

#ALTER TABLE `CLIFOR_AGENTE` ADD CONSTRAINT `CLIFOR_CLIFOR_AGENTE_cliente` 
#    FOREIGN KEY (`id_cliente`) REFERENCES `CLIFOR` (`id_clifor`);

#ALTER TABLE `CLIFOR_AGENTE` ADD CONSTRAINT `CLIFOR_CLIFOR_AGENTE_fornitore` 
#    FOREIGN KEY (`id_agente`) REFERENCES `CLIFOR` (`id_clifor`);

#ALTER TABLE `DOCUMENTO_AGENTE` ADD CONSTRAINT `DOCUMENTO_DOCUMENTO_AGENTE` 
#    FOREIGN KEY (`id_documento`) REFERENCES `DOCUMENTO` (`id_documento`);

#ALTER TABLE `DOCUMENTO_AGENTE` ADD CONSTRAINT `CLIFOR_DOCUMENTO_AGENTE_agente` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

#ALTER TABLE `CLIFOR_ARTICOLO` ADD CONSTRAINT `CLIFOR_CLIFOR_ARTICOLO` 
#    FOREIGN KEY (`id_progettista`) REFERENCES `CLIFOR` (`id_clifor`);

#ALTER TABLE `CLIFOR_ARTICOLO` ADD CONSTRAINT `ARTICOLO_CLIFOR_ARTICOLO` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

#ALTER TABLE `RIGA_DOCUMENTO_PROGETTISTA` ADD CONSTRAINT `RIGA_DOCUMENTO_RIGA_DOCUMENTO_PROGETTISTA` 
#    FOREIGN KEY (`id_rigaDocumento`) REFERENCES `RIGA_DOCUMENTO` (`id_rigaDocumento`);

#ALTER TABLE `RIGA_DOCUMENTO_PROGETTISTA` ADD CONSTRAINT `ARTICOLO_RIGA_DOCUMENTO_PROGETTISTA` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

#ALTER TABLE `RIGA_DOCUMENTO_PROGETTISTA` ADD CONSTRAINT `CLIFOR_RIGA_DOCUMENTO_PROGETTISTA` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

#ALTER TABLE `RIGA_DOCUMENTO_P_M` ADD CONSTRAINT `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P_M_PRELEVATA` 
#    FOREIGN KEY (`id_rigaDocumentoPrelevata`) REFERENCES `RIGA_DOCUMENTO` (`id_rigaDocumento`);

#ALTER TABLE `RIGA_DOCUMENTO_P_M` ADD CONSTRAINT `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P_M` 
#    FOREIGN KEY (`id_rigaDocumento`) REFERENCES `RIGA_DOCUMENTO` (`id_rigaDocumento`);

ALTER TABLE `USER_DITTA` ADD CONSTRAINT `DITTA_USER_DITTA` 
    FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);

#ALTER TABLE `USER_DITTA` ADD CONSTRAINT `USERS_USER_DITTA` 
#    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);


#ALTER TABLE `MOVIMENTO` ADD CONSTRAINT `RIGA_DOCUMENTO_MOVIMENTO` 
#    FOREIGN KEY (`id_rigaDocumento`) REFERENCES `RIGA_DOCUMENTO` (`id_rigaDocumento`);

#ALTER TABLE `MOVIMENTO` ADD CONSTRAINT `ARTICOLO_MOVIMENTO` 
#    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

#ALTER TABLE `MOVIMENTO` ADD CONSTRAINT `ARTICOLO_VARIANTE_MOVIMENTO` 
#    FOREIGN KEY (`id_articoloVariante`) REFERENCES `ARTICOLO_VARIANTE` (`id_articoloVariante`);

ALTER TABLE `MOVIMENTO` ADD CONSTRAINT `ARTICOLO_TAGLIA_MOVIMENTO` 
    FOREIGN KEY (`id_articoloTaglia`) REFERENCES `ARTICOLO_TAGLIA` (`id_articoloTaglia`);

#ALTER TABLE `MOVIMENTO` ADD CONSTRAINT `MAG_FISICO_MOVIMENTO` 
#    FOREIGN KEY (`id_magFisico`) REFERENCES `MAG_FISICO` (`id_magFisico`);

#ALTER TABLE `MOVIMENTO` ADD CONSTRAINT `CLIFOR_MOVIMENTO` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

#ALTER TABLE `MOVIMENTO` ADD CONSTRAINT `RIGA_DOCUMENTO_P_MOVIMENTO` 
#    FOREIGN KEY (`id_rigaDocumentoP`) REFERENCES `RIGA_DOCUMENTO_P` (`id_rigaDocumentoP`);

#ALTER TABLE `MOVIMENTO` ADD CONSTRAINT `CAUSALE_MAGAZZINO_MOVIMENTO` 
#    FOREIGN KEY (`id_causaleMagazzino`) REFERENCES `CAUSALE_MAGAZZINO` (`id_causaleMagazzino`);

#ALTER TABLE `CLIFOR_TIPO_CLIFOR` ADD CONSTRAINT `CLIFOR_CLIFOR_TIPO_CLIFOR` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `CLIFOR_TIPO_CLIFOR` ADD CONSTRAINT `TIPO_CLIFOR_CLIFOR_TIPO_CLIFOR` 
    FOREIGN KEY (`id_tipoClifor`) REFERENCES `TIPO_CLIFOR` (`id_tipoClifor`);

ALTER TABLE `MAIL_NEWSLETTER` ADD CONSTRAINT `TEMPLATE_MSG_MAIL_NEWSLETTER` 
    FOREIGN KEY (`id_templateMsg`) REFERENCES `TEMPLATE_MSG` (`id_templateMsg`);

#ALTER TABLE `USER_CLIFOR` ADD CONSTRAINT `USERS_USER_CLIFOR` 
#    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);

#ALTER TABLE `USER_CLIFOR` ADD CONSTRAINT `CLIFOR_USER_CLIFOR` 
#    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `NEWS_USERS` ADD CONSTRAINT `NEWS_NEWS_USERS` 
    FOREIGN KEY (`id_news`) REFERENCES `NEWS` (`id_news`);

#ALTER TABLE `NEWS_USERS` ADD CONSTRAINT `USERS_NEWS_USERS` 
#    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);


#ALTER TABLE `INCASSO_PAGAMENTO` ADD CONSTRAINT `DOCUMENTO_INCASSO_PAGAMENTO` 
#    FOREIGN KEY (`id_documento`) REFERENCES `DOCUMENTO` (`id_documento`);

ALTER TABLE `INCASSO_PAGAMENTO` ADD CONSTRAINT `MOVIMENTO_INCASSO_PAGAMENTO` 
    FOREIGN KEY (`id_movimento`) REFERENCES `MOVIMENTO` (`id_movimento`);

#ALTER TABLE `BANCA` ADD CONSTRAINT `COMUNE_BANCA` 
#    FOREIGN KEY (`id_comune`) REFERENCES `COMUNE` (`id_comune`);

#ALTER TABLE `DOCUMENTO_PAGAMENTO` ADD CONSTRAINT `DOCUMENTO_DOCUMENTO_PAGAMENTO` 
#    FOREIGN KEY (`id_documento`) REFERENCES `DOCUMENTO` (`id_documento`);

#ALTER TABLE `DOCUMENTO_PAGAMENTO` ADD CONSTRAINT `TIPO_PAGAMENTO_DOCUMENTO_PAGAMENTO` 
#    FOREIGN KEY (`id_tipoPagamento`) REFERENCES `TIPO_PAGAMENTO` (`id_tipoPagamento`);


ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `righePerPagina` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `maxCarDesc` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `coloreBordoEsterno` CHAR(7);

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `coloreBordoInterno` CHAR(7);

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `flgBordoRiga` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `flgBordoColonna` INTEGER;

ALTER TABLE `TIPO_DOCUMENTO` ADD COLUMN `indentNuovaRiga` INTEGER;
