# ---------------------------------------------------------------------- #
# Modify table "ARTICOLO_FORNITORE"                                      #
# ---------------------------------------------------------------------- #

# ---------------------------------------------------------------------- #
# Modify table "HELP"                                                    #
# ---------------------------------------------------------------------- #

DROP INDEX `IDX_TIPO_INDICI` ON `HELP`;

ALTER TABLE `HELP` MODIFY `indici` VARCHAR(999);

CREATE INDEX `IDX_TIPO_INDICI` ON `HELP` (`indici` ASC);

# ---------------------------------------------------------------------- #
# Modify table "ALLEGATO_CLIFOR"                                         #
# ---------------------------------------------------------------------- #

ALTER TABLE `ALLEGATO_CLIFOR` MODIFY `nomeFile` VARCHAR(254);

# ---------------------------------------------------------------------- #
# Modify table "ALLEGATO_DOCUMENTO"                                      #
# ---------------------------------------------------------------------- #

ALTER TABLE `ALLEGATO_DOCUMENTO` MODIFY `nomeFile` VARCHAR(254);

# ---------------------------------------------------------------------- #
# Drop foreign key constraints                                           #
# ---------------------------------------------------------------------- #


# ---------------------------------------------------------------------- #
# Modify table "ARTICOLO_FORNITORE"                                      #
# ---------------------------------------------------------------------- #

ALTER TABLE `ARTICOLO_FORNITORE` ADD COLUMN `flgAbituale` INTEGER;

# ---------------------------------------------------------------------- #
# Modify table "HELP"                                                    #
# ---------------------------------------------------------------------- #

ALTER TABLE `HELP` MODIFY `indici` VARCHAR(1000);


# ---------------------------------------------------------------------- #
# Modify table "ALLEGATO_CLIFOR"                                         #
# ---------------------------------------------------------------------- #

ALTER TABLE `ALLEGATO_CLIFOR` MODIFY `nomeFile` VARCHAR(254);

# ---------------------------------------------------------------------- #
# Modify table "ALLEGATO_DOCUMENTO"                                      #
# ---------------------------------------------------------------------- #

ALTER TABLE `ALLEGATO_DOCUMENTO` MODIFY `nomeFile` VARCHAR(254);

# ---------------------------------------------------------------------- #
# Add table "RIGA_DOCUMENTO_PM"                                          #
# ---------------------------------------------------------------------- #

CREATE TABLE `RIGA_DOCUMENTO_P_M` (
    `id_rigaDocumento` INTEGER NOT NULL,
    `id_rigaDocumentoPrelevata` INTEGER NOT NULL,
    `quantitaPrelevata` DOUBLE,
    CONSTRAINT `PK_RIGA_DOCUMENTO_PM` PRIMARY KEY (`id_rigaDocumento`, `id_rigaDocumentoPrelevata`)
);

# ---------------------------------------------------------------------- #
# Add foreign key constraints                                            #
# ---------------------------------------------------------------------- #
# ---------------------------------------------------------------------- #
# Modify table "LISTINO_ARTICOLO"                                        #
# ---------------------------------------------------------------------- #

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

ALTER TABLE `LISTINO_ARTICOLO` ADD COLUMN `dataScadenzaOfferta` DATE;


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


# Remove autoinc for PK drop #

ALTER TABLE `SPEDIZIONIERE` MODIFY `id_spedizioniere` INTEGER NOT NULL;

# Drop constraints #

ALTER TABLE `SPEDIZIONIERE` DROP PRIMARY KEY;

# Drop table #

DROP TABLE `SPEDIZIONIERE`;

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

#c'è già  
#ALTER TABLE `VETTORE` ADD COLUMN `linkTracking` VARCHAR(254);


# ---------------------------------------------------------------------- #
# 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:            2014-02-21 00:31                                #
# ---------------------------------------------------------------------- #
# ---------------------------------------------------------------------- #
# Add table "DITTA"                                                      #
# ---------------------------------------------------------------------- #

CREATE TABLE `DITTA` (
    `id_ditta` INTEGER(11) NOT NULL AUTO_INCREMENT,
    `cognome` VARCHAR(254),
    `nome` VARCHAR(60),
    `indirizzo` VARCHAR(60),
    `numeroCivico` VARCHAR(30),
    `descrizioneComune` VARCHAR(60),
    `provinciaComune` CHAR(30),
    `capComune` CHAR(10),
    `capZona` CHAR(5),
    `descrizioneNazione` VARCHAR(60),
    `codFisc` VARCHAR(16),
    `pIva` CHAR(11),
    `eMail` VARCHAR(254),
    `eMailAmm` VARCHAR(60),
    `cellulare` VARCHAR(30),
    `telefono` VARCHAR(30),
    `telefonoAmm` VARCHAR(30),
    `fax` VARCHAR(30),
    `nota` TEXT,
    `imgTmst` CHAR(16),
    `lastUpdTmst` TIMESTAMP,
    `lastUpdId_user` INTEGER,
    CONSTRAINT `PK_DITTA` PRIMARY KEY (`id_ditta`)
);
INSERT INTO DITTA (id_ditta, cognome) values (1, 'default' );

# ---------------------------------------------------------------------- #
# 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`)
);
# ---------------------------------------------------------------------- #
# Add table "USER_DITTA"                                                 #
# ---------------------------------------------------------------------- #

CREATE TABLE `USER_DITTA` (
    `id_userDitta` INTEGER NOT NULL AUTO_INCREMENT,
    `id_ditta` INTEGER NOT NULL,
    `id_users` INTEGER NOT NULL,
    `id_userProfile` INTEGER NOT NULL,
    CONSTRAINT `PK_USER_DITTA` PRIMARY KEY (`id_userDitta`)
);

CREATE UNIQUE INDEX `IDX_USER_DITTA_1` ON `USER_DITTA` (`id_ditta`,`id_users`,`id_userProfile`);

# ---------------------------------------------------------------------- #
# Add table "ACCESS_DITTA"                                               #
# ---------------------------------------------------------------------- #

CREATE TABLE `ACCESS_DITTA` (
    `id_accessDitta` INTEGER NOT NULL AUTO_INCREMENT,
    `id_access` VARCHAR(30) NOT NULL,
    `id_ditta` INTEGER NOT NULL,
    `attr1Maiuscoli` VARCHAR(1000),
    `attrMaiuscoli` VARCHAR(1000),
    `attrMinuscoli` VARCHAR(1000),
    `descrizione` VARCHAR(30),
    `flgSafeUpdate` INTEGER,
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_ACCESS_DITTA` PRIMARY KEY (`id_accessDitta`)
);

CREATE UNIQUE INDEX `IDX_ACCESS_DITTA_1` ON `ACCESS_DITTA` (`id_access`,`id_ditta`);

# ---------------------------------------------------------------------- #
# Add table "PARM_DITTA"                                                 #
# ---------------------------------------------------------------------- #

CREATE TABLE `PARM_DITTA` (
    `id_parmDitta` INTEGER NOT NULL AUTO_INCREMENT,
    `id_parm` INTEGER NOT NULL,
    `id_ditta` INTEGER NOT NULL,
    `testo` TEXT,
    `numero` DECIMAL(18,4),
    `dataParm` DATE,
    `ora` TIME,
    `coloreHex` VARCHAR(7),
    `lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
    CONSTRAINT `PK_PARM_DITTA` PRIMARY KEY (`id_parmDitta`)
);

CREATE INDEX `IDX_PARM_DITTA_1` ON `PARM_DITTA` (`id_parm`,`id_ditta`);


# ---------------------------------------------------------------------- #
# Drop foreign key constraints                                           #
# ---------------------------------------------------------------------- #

ALTER TABLE `USERS` DROP FOREIGN KEY `USER_PROFILE_USERS`;

ALTER TABLE `USERS` DROP FOREIGN KEY `POSTAZIONE_USERS`;

ALTER TABLE `USERS` DROP FOREIGN KEY `CLIFOR_USERS`;

ALTER TABLE `USER_ACCESS` DROP FOREIGN KEY `ACCESS_USER_ACCESS`;

ALTER TABLE `USER_ACCESS` DROP FOREIGN KEY `USERS_USER_ACCESS`;

ALTER TABLE `LOG` DROP FOREIGN KEY `USERS_LOG`;

ALTER TABLE `LOG` DROP FOREIGN KEY `BLACKLIST_LOG`;

ALTER TABLE `USER_ACCESS_GROUP` DROP FOREIGN KEY `ACCESS_GROUP_USER_ACCESS_GROUP`;

ALTER TABLE `USER_ACCESS_GROUP` DROP FOREIGN KEY `USERS_USER_ACCESS_GROUP`;

ALTER TABLE `ACCESS_GROUP_ACCESS` DROP FOREIGN KEY `ACCESS_ACCESS_GROUP_ACCESS`;

ALTER TABLE `ACCESS_GROUP_ACCESS` DROP FOREIGN KEY `ACCESS_GROUP_ACCESS_GROUP_ACCESS`;

ALTER TABLE `POSTAZIONE` DROP FOREIGN KEY `REG_CASSA_POSTAZIONE`;

ALTER TABLE `USERS_WHITELIST` DROP FOREIGN KEY `WHITELIST_USERS_WHITELIST`;

ALTER TABLE `USERS_WHITELIST` DROP FOREIGN KEY `USERS_USERS_WHITELIST`;

ALTER TABLE `CLIFOR_USERS` DROP FOREIGN KEY `USERS_CLIFOR_USERS`;

ALTER TABLE `DOCUMENTO` DROP FOREIGN KEY `USERS_DOCUMENTO_interv`;

ALTER TABLE `DOCUMENTO` DROP FOREIGN KEY `USERS_DOCUMENTO_chiusura`;

ALTER TABLE `DOCUMENTO` DROP FOREIGN KEY `USERS_DOCUMENTO`;

# ---------------------------------------------------------------------- #
# Drop table "USERS_WHITELIST"                                           #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `USERS_WHITELIST` MODIFY `id_usersWhitelist` INTEGER NOT NULL;

# Drop constraints #

ALTER TABLE `USERS_WHITELIST` DROP PRIMARY KEY;

# Drop table #

DROP TABLE `USERS_WHITELIST`;

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

DROP INDEX `IDX_USERS_1` ON `USERS`;

DROP INDEX `IDX_USERS_2` ON `USERS`;

#DROP INDEX `IDX_USERS_3` ON `USERS`;

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

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

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

# ---------------------------------------------------------------------- #
# Modify table "USER_ACCESS"                                             #
# ---------------------------------------------------------------------- #
#questa tabella va rifatta!!!!

delete from USER_ACCESS;



# Drop constraints #


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


ALTER TABLE `USER_ACCESS` DROP PRIMARY KEY;


# Drop table #


DROP TABLE `USER_ACCESS`;


CREATE TABLE `USER_ACCESS` (
    `id_userAccess` INTEGER NOT NULL AUTO_INCREMENT,
    
`id_users` INTEGER NOT NULL,
    `id_access` VARCHAR(30) NOT NULL,
  
`id_ditta` INTEGER NOT NULL,
    `flgRW` INTEGER DEFAULT 0,
  
`lastUpdId_user` INTEGER,
    `lastUpdTmst` TIMESTAMP,
  
CONSTRAINT `PK_USER_ACCESS` PRIMARY KEY (`id_userAccess`)
);



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


# ---------------------------------------------------------------------- #

# Foreign key constraints                                                #

# ---------------------------------------------------------------------- #


#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 `USER_ACCESS` ADD CONSTRAINT `DITTA_USER_ACCESS` 

FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);


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

DROP INDEX `IDX_LOG_1` ON `LOG`;

DROP INDEX `IDX_LOG_2` ON `LOG`;

ALTER TABLE `LOG` ADD COLUMN `id_ditta` INTEGER;

update LOG set id_ditta=1;

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

ALTER TABLE `ACCESS_GROUP` ADD COLUMN `id_ditta` INTEGER;
update ACCESS_GROUP  set id_ditta=1;



# ---------------------------------------------------------------------- #
# 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`;

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

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


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

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

ALTER TABLE `BLACKLIST` ADD COLUMN `id_ditta` INTEGER;
update BLACKLIST set id_ditta=1;

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

ALTER TABLE `POSTAZIONE` ADD COLUMN `id_ditta` INTEGER;
update POSTAZIONE set id_ditta=1;

# ---------------------------------------------------------------------- #
# Modify table "WHITELIST"                                               #
# ---------------------------------------------------------------------- #

ALTER TABLE `WHITELIST` ADD COLUMN `id_ditta` INTEGER;
update WHITELIST set id_ditta=1;



# ---------------------------------------------------------------------- #
# Modify table "TIPO_POSTAZIONE"                                         #
# ---------------------------------------------------------------------- #
drop table TIPO_POSTAZIONE;

CREATE TABLE `TIPO_POSTAZIONE` (`id_tipoPostazione` INTEGER NOT NULL AUTO_INCREMENT,
`descrizione` VARCHAR(30),
    `lastUpdId_user` INTEGER,
 
`lastUpdTmst` TIMESTAMP,
    `id_ditta` INTEGER NOT NULL,
  
CONSTRAINT `PK_TIPO_POSTAZIONE` PRIMARY KEY (`id_tipoPostazione`)
);


# ---------------------------------------------------------------------- #

# Foreign key constraints                                               

#

# ---------------------------------------------------------------------- #



#ALTER TABLE `TIPO_POSTAZIONE` ADD CONSTRAINT `DITTA_TIPO_POSTAZIONE` 

#FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);



# ---------------------------------------------------------------------- #
# 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 `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 `LOG` ADD CONSTRAINT `DITTA_LOG` 
    FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);

ALTER TABLE `ACCESS_GROUP` ADD CONSTRAINT `DITTA_ACCESS_GROUP` 
    FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);

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 `BLACKLIST` ADD CONSTRAINT `DITTA_BLACKLIST` 
    FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);

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 `POSTAZIONE` ADD CONSTRAINT `DITTA_POSTAZIONE` 
    FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);

ALTER TABLE `WHITELIST` ADD CONSTRAINT `DITTA_WHITELIST` 
    FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);

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 `USER_DITTA` ADD CONSTRAINT `USER_PROFILE_USER_DITTA` 
#    FOREIGN KEY (`id_userProfile`) REFERENCES `USER_PROFILE` (`id_userProfile`);

#ALTER TABLE `ACCESS_DITTA` ADD CONSTRAINT `ACCESS_ACCESS_DITTA` 
#    FOREIGN KEY (`id_access`) REFERENCES `ACCESS` (`id_access`);

#ALTER TABLE `ACCESS_DITTA` ADD CONSTRAINT `DITTA_ACCESS_DITTA` 
#    FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);

#ALTER TABLE `PARM_DITTA` ADD CONSTRAINT `PARM_PARM_DITTA` 
#    FOREIGN KEY (`id_parm`) REFERENCES `PARM` (`id_parm`);

#ALTER TABLE `PARM_DITTA` ADD CONSTRAINT `DITTA_PARM_DITTA` 
#    FOREIGN KEY (`id_ditta`) REFERENCES `DITTA` (`id_ditta`);

ALTER TABLE `CLIFOR_USERS` ADD CONSTRAINT `USERS_CLIFOR_USERS` 
    FOREIGN KEY (`id_users`) REFERENCES `USERS` (`id_users`);
    

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`);

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

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

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

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

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

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

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

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

# ---------------------------------------------------------------------- #
# Modify table "WHITELIST"                                               #
# ---------------------------------------------------------------------- #

ALTER TABLE `WHITELIST` MODIFY `id_ditta` INTEGER NOT NULL;

# ---------------------------------------------------------------------- #
# Modify table "TIPO_POSTAZIONE"                                         #
# ---------------------------------------------------------------------- #

ALTER TABLE `TIPO_POSTAZIONE` MODIFY `id_ditta` INTEGER NOT NULL;

# ---------------------------------------------------------------------- #
# Modify table "USER_DITTA"                                              #
# ---------------------------------------------------------------------- #

#DROP INDEX `IDX_USER_DITTA_1` ON `USER_DITTA`;

#ALTER TABLE `USER_DITTA` MODIFY `id_ditta` INTEGER NOT NULL;

#CREATE UNIQUE INDEX `IDX_USER_DITTA_1` ON `USER_DITTA` (`id_ditta`,`id_users`,`id_userProfile`);
# ---------------------------------------------------------------------- #
# Modify table "CODA_MESSAGGI"                                           #
# ---------------------------------------------------------------------- #

ALTER TABLE `CODA_MESSAGGI` ADD COLUMN `campiMail` VARCHAR(1000);

# ---------------------------------------------------------------------- #
# 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:            2014-03-13 10:13                                #
# ---------------------------------------------------------------------- #


# ---------------------------------------------------------------------- #
# Drop foreign key constraints                                           #
# ---------------------------------------------------------------------- #

ALTER TABLE `ARTICOLO` DROP FOREIGN KEY `MARCA_ARTICOLO`;

ALTER TABLE `ARTICOLO` DROP FOREIGN KEY `COLORE_ARTICOLO`;

ALTER TABLE `ARTICOLO` DROP FOREIGN KEY `TIPO_ARTICOLO`;

ALTER TABLE `ARTICOLO` DROP FOREIGN KEY `IVA_ARTICOLO`;

ALTER TABLE `ARTICOLO` DROP FOREIGN KEY `TIPO_TAGLIA_ARTICOLO`;

ALTER TABLE `ARTICOLO` DROP FOREIGN KEY `ARTICOLO_VARIANTE_ARTICOLO`;

ALTER TABLE `ARTICOLO` DROP FOREIGN KEY `TABELLA_TAGLIA_ARTICOLO`;

ALTER TABLE `ARTICOLO` DROP FOREIGN KEY `TIPO_ACCESSORIO_ARTICOLO`;

ALTER TABLE `ARTICOLO` DROP FOREIGN KEY `VETRINA_ARTICOLO`;

ALTER TABLE `CLIFOR` DROP FOREIGN KEY `TIPO_PAGAMENTO_CLIFOR`;

ALTER TABLE `CLIFOR` DROP FOREIGN KEY `NAZIONE_CLIFOR`;

ALTER TABLE `CLIFOR` DROP FOREIGN KEY `COMUNE_CLIFOR`;

ALTER TABLE `CLIFOR` DROP FOREIGN KEY `COMUNE_CLIFOR_nasc`;

ALTER TABLE `CLIFOR` DROP FOREIGN KEY `LISTINO_CLIFOR`;

ALTER TABLE `CLIFOR` DROP FOREIGN KEY `TIPO_FORNITORE_CLIFOR`;

ALTER TABLE `RIGA_DOCUMENTO` DROP FOREIGN KEY `ARTICOLO_RIGA_DOCUMENTO`;

ALTER TABLE `RIGA_DOCUMENTO` DROP FOREIGN KEY `DOCUMENTO_RIGA_DOCUMENTO`;

ALTER TABLE `RIGA_DOCUMENTO` DROP FOREIGN KEY `IVA_RIGA_DOCUMENTO`;

ALTER TABLE `RIGA_DOCUMENTO` DROP FOREIGN KEY `ARTICOLO_VARIANTE_RIGA_DOCUMENTO`;

ALTER TABLE `RIGA_DOCUMENTO` DROP FOREIGN KEY `MAG_FISICO_RIGA_DOCUMENTO_partenza`;

ALTER TABLE `RIGA_DOCUMENTO` DROP FOREIGN KEY `REPARTO_RIGA_DOCUMENTO`;

ALTER TABLE `RIGA_DOCUMENTO` DROP FOREIGN KEY `DOCUMENTOpadre_RIGA_DOCUMENTO`;

ALTER TABLE `RIGA_DOCUMENTO` DROP FOREIGN KEY `RIGA_DOCUMENTO_RIGA_DOCUMENTO`;

ALTER TABLE `RIGA_DOCUMENTO` DROP FOREIGN KEY `ARTICOLO_TAGLIA_RIGA_DOCUMENTO`;

ALTER TABLE `MAG_FISICO` DROP FOREIGN KEY `CLIFOR_MAG_FISICO`;

ALTER TABLE `CAUSALE_MAGAZZINO` DROP FOREIGN KEY `MAG_FISICO_CAUSALE_MAGAZZINO_part`;

ALTER TABLE `CAUSALE_MAGAZZINO` DROP FOREIGN KEY `MAG_FISICO_CAUSALE_MAGAZZINO_arr`;

ALTER TABLE `ACCESSORIO` DROP FOREIGN KEY `ARTICOLO_ACCESSORIO_Assoc`;

ALTER TABLE `ACCESSORIO` DROP FOREIGN KEY `ARTICOLO_ACCESSORIO`;

ALTER TABLE `CARATTERISTICA_ARTICOLO` DROP FOREIGN KEY `ARTICOLO_CARATTERISTICA_ARTICOLO`;

ALTER TABLE `DOCUMENTO` DROP FOREIGN KEY `CLIFOR_DOCUMENTO`;

ALTER TABLE `CLIFOR_USERS` DROP FOREIGN KEY `CLIFOR_CLIFOR_USERS`;

ALTER TABLE `DISPONIBILITA` DROP FOREIGN KEY `ARTICOLO_DISPONIBILITA`;

ALTER TABLE `ARTICOLO_VARIANTE` DROP FOREIGN KEY `ARTICOLO_ARTICOLO_VARIANTE`;

ALTER TABLE `ARTICOLO_FORNITORE` DROP FOREIGN KEY `ARTICOLO_ARTICOLO_FORNITORE`;

ALTER TABLE `ARTICOLO_FORNITORE` DROP FOREIGN KEY `CLIFOR_ARTICOLO_FORNITORE`;

ALTER TABLE `ALLEGATO_ARTICOLO` DROP FOREIGN KEY `ARTICOLO_ALLEGATO_ARTICOLO`;

ALTER TABLE `TIPO_DOCUMENTO` DROP FOREIGN KEY `CAUSALE_MAGAZZINO_TIPO_DOCUMENTO`;

ALTER TABLE `DISPONIBILITA` DROP FOREIGN KEY `MAG_FISICO_DISPONIBILITA`;

ALTER TABLE `DESTINAZIONE_DIVERSA` DROP FOREIGN KEY `CLIFOR_DESTINAZIONE_DIVERSA`;

ALTER TABLE `LISTINO_PERS` DROP FOREIGN KEY `ARTICOLO_LISTINO_PERS`;

ALTER TABLE `LISTINO_PERS` DROP FOREIGN KEY `CLIFOR_LISTINO_PERS`;

ALTER TABLE `RIGA_DOCUMENTO_P` DROP FOREIGN KEY `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P_prelevata`;

ALTER TABLE `RIGA_DOCUMENTO_P` DROP FOREIGN KEY `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P`;

ALTER TABLE `RIVALUTAZIONE` DROP FOREIGN KEY `ARTICOLO_RIVALUTAZIONE`;

ALTER TABLE `CONTRATTO` DROP FOREIGN KEY `CLIFOR_CONTRATTO`;

ALTER TABLE `LISTINO_SERVIZI_PERS` DROP FOREIGN KEY `ARTICOLO_LISTINO_SERVIZI_PERS`;

ALTER TABLE `LISTINO_SERVIZI_PERS` DROP FOREIGN KEY `CLIFOR_LISTINO_SERVIZI_PERS`;

ALTER TABLE `BANNER` DROP FOREIGN KEY `CLIFOR_BANNER`;

ALTER TABLE `ALLEGATO_CLIFOR` DROP FOREIGN KEY `CLIFOR_ALLEGATO_CLIFOR`;

ALTER TABLE `DOCUMENTO` DROP FOREIGN KEY `CLIFOR_DOCUMENTO_LISTINO`;

ALTER TABLE `USERS` DROP FOREIGN KEY `CLIFOR_USERS`;

ALTER TABLE `ARTICOLO_TAGLIA` DROP FOREIGN KEY `ARTICOLO_ARTICOLO_TAGLIA`;

ALTER TABLE `ARTICOLO_COMPONENTE` DROP FOREIGN KEY `ARTICOLO_ARTICOLO_COMPONENTE`;

ALTER TABLE `LISTINO_ARTICOLO` DROP FOREIGN KEY `ARTICOLO_LISTINO_ARTICOLO`;

ALTER TABLE `CLIFOR_AGENTE` DROP FOREIGN KEY `CLIFOR_CLIFOR_AGENTE_cliente`;

ALTER TABLE `CLIFOR_AGENTE` DROP FOREIGN KEY `CLIFOR_CLIFOR_AGENTE_fornitore`;

ALTER TABLE `DOCUMENTO_AGENTE` DROP FOREIGN KEY `CLIFOR_DOCUMENTO_AGENTE_agente`;

ALTER TABLE `CLIFOR_ARTICOLO` DROP FOREIGN KEY `CLIFOR_CLIFOR_ARTICOLO`;

ALTER TABLE `CLIFOR_ARTICOLO` DROP FOREIGN KEY `ARTICOLO_CLIFOR_ARTICOLO`;

ALTER TABLE `RIGA_DOCUMENTO_PROGETTISTA` DROP FOREIGN KEY `RIGA_DOCUMENTO_RIGA_DOCUMENTO_PROGETTISTA`;

ALTER TABLE `RIGA_DOCUMENTO_PROGETTISTA` DROP FOREIGN KEY `ARTICOLO_RIGA_DOCUMENTO_PROGETTISTA`;

ALTER TABLE `RIGA_DOCUMENTO_PROGETTISTA` DROP FOREIGN KEY `CLIFOR_RIGA_DOCUMENTO_PROGETTISTA`;

#ALTER TABLE `RIGA_DOCUMENTO_P_M` DROP FOREIGN KEY `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P_M`;

#ALTER TABLE `RIGA_DOCUMENTO_P_M` DROP FOREIGN KEY `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P_M`;

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

ALTER TABLE `ARTICOLO` DROP COLUMN `flgUdm`;

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

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

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

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

DROP INDEX `IDX_RIGA_DOCUMENTO_5` ON `RIGA_DOCUMENTO`;

ALTER TABLE `RIGA_DOCUMENTO` DROP COLUMN `id_magFisico`;

ALTER TABLE `RIGA_DOCUMENTO` DROP COLUMN `flgUdm`;

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

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

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


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

DROP INDEX `IDX_MAG_FISICO_1` ON `MAG_FISICO`;

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 `flgInterno` INTEGER;

#CREATE INDEX `IDX_MAG_FISICO_1` ON `MAG_FISICO` ();

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

ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `flgVisualizzazioneArrivo`;

ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `flgVisualizzazionePartenza`;

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

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

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

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

# ---------------------------------------------------------------------- #
# Add table "MOVIMENTO"                                                  #
# ---------------------------------------------------------------------- #

CREATE TABLE `MOVIMENTO` (
    `id_movimento` INTEGER(11) 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,
    CONSTRAINT `PK_MOVIMENTO` PRIMARY KEY (`id_movimento`)
);

# ---------------------------------------------------------------------- #
# 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 foreign key constraints                                            #
# ---------------------------------------------------------------------- #

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 `ARTICOLO` ADD CONSTRAINT `TIPOLOGIA_ARTICOLO_ARTICOLO` 
    FOREIGN KEY (`id_tipologiaArticolo`) REFERENCES `TIPOLOGIA_ARTICOLO` (`id_tipologiaArticolo`);

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 `CLIFOR` ADD CONSTRAINT `TIPO_FORNITORE_CLIFOR` 
    FOREIGN KEY (`id_tipoFornitore`) REFERENCES `TIPO_FORNITORE` (`id_tipoFornitore`);

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 `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 `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 `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 `CARATTERISTICA_ARTICOLO` ADD CONSTRAINT `ARTICOLO_CARATTERISTICA_ARTICOLO` 
    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `CLIFOR_DOCUMENTO` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `CLIFOR_USERS` ADD CONSTRAINT `CLIFOR_CLIFOR_USERS` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `DISPONIBILITA` ADD CONSTRAINT `ARTICOLO_DISPONIBILITA` 
    FOREIGN KEY (`id_articoloD`) REFERENCES `ARTICOLO` (`id_articolo`);

ALTER TABLE `ARTICOLO_VARIANTE` ADD CONSTRAINT `ARTICOLO_ARTICOLO_VARIANTE` 
    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

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 `TIPO_DOCUMENTO` ADD CONSTRAINT `CAUSALE_MAGAZZINO_TIPO_DOCUMENTO` 
    FOREIGN KEY (`id_causaleMagazzino`) REFERENCES `CAUSALE_MAGAZZINO` (`id_causaleMagazzino`);

ALTER TABLE `DISPONIBILITA` ADD CONSTRAINT `MAG_FISICO_DISPONIBILITA` 
    FOREIGN KEY (`id_magFisicoD`) REFERENCES `MAG_FISICO` (`id_magFisico`);

ALTER TABLE `DESTINAZIONE_DIVERSA` ADD CONSTRAINT `CLIFOR_DESTINAZIONE_DIVERSA` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

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 `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 `RIVALUTAZIONE` ADD CONSTRAINT `ARTICOLO_RIVALUTAZIONE` 
    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

ALTER TABLE `CONTRATTO` ADD CONSTRAINT `CLIFOR_CONTRATTO` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

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 `BANNER` ADD CONSTRAINT `CLIFOR_BANNER` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `ALLEGATO_CLIFOR` ADD CONSTRAINT `CLIFOR_ALLEGATO_CLIFOR` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `CLIFOR_DOCUMENTO_LISTINO` 
    FOREIGN KEY (`id_cliforListino`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `USERS` ADD CONSTRAINT `CLIFOR_USERS` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `ARTICOLO_TAGLIA` ADD CONSTRAINT `ARTICOLO_ARTICOLO_TAGLIA` 
    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

ALTER TABLE `ARTICOLO_COMPONENTE` ADD CONSTRAINT `ARTICOLO_ARTICOLO_COMPONENTE` 
    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

ALTER TABLE `LISTINO_ARTICOLO` ADD CONSTRAINT `ARTICOLO_LISTINO_ARTICOLO` 
    FOREIGN KEY (`id_articolo`) REFERENCES `ARTICOLO` (`id_articolo`);

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 `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` 
#    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`);
# ---------------------------------------------------------------------- #
# 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:            2014-03-13 10:17                                #
# ---------------------------------------------------------------------- #



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

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

ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `flgPartenza`;

ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `flgArrivo`;

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `MAG_FISICO_DOCUMENTO_PARTENZA` 
    FOREIGN KEY (`id_magFisicoPartenza`) REFERENCES `MAG_FISICO` (`id_magFisico`);

ALTER TABLE `DOCUMENTO` ADD CONSTRAINT `MAG_FISICO_DOCUMENTO_ARRIVO` 
    FOREIGN KEY (`id_magFisicoArrivo`) REFERENCES `MAG_FISICO` (`id_magFisico`);

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`);


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

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

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

#ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `flgPartenza`;

#ALTER TABLE `CAUSALE_MAGAZZINO` DROP COLUMN `flgArrivo`;

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

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


ALTER TABLE `RIGA_DOCUMENTO_P` DROP FOREIGN KEY `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P_prelevata`;

ALTER TABLE `RIGA_DOCUMENTO_P` DROP FOREIGN KEY `RIGA_DOCUMENTO_RIGA_DOCUMENTO_P`;

ALTER TABLE `RIGA_DOCUMENTO_P` DROP PRIMARY KEY;

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` ADD COLUMN `id_rigaDocumentoP` INTEGER NOT NULL ;

ALTER TABLE RIGA_DOCUMENTO_P CHANGE COLUMN `id_rigaDocumentoP` `id_rigaDocumentoP` INTEGER NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY(id_rigaDocumentoP);




# ---------------------------------------------------------------------- #
# Modify table "MOVIMENTO"                                               #
# ---------------------------------------------------------------------- #

ALTER TABLE `MOVIMENTO` ADD COLUMN `id_rigaDocumentoP` INTEGER;

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 `MOVIMENTO` ADD CONSTRAINT `RIGA_DOCUMENTO_P_MOVIMENTO` 
#    FOREIGN KEY (`id_rigaDocumentoP`) REFERENCES `RIGA_DOCUMENTO_P` (`id_rigaDocumentoP`);

ALTER TABLE `MAG_FISICO` CHANGE `flgInterno` `flgTipo` INTEGER;

#aggiornamento tipologia articolo su tutti gli articoli
update ARTICOLO set id_tipologiaArticolo=1;

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


# ---------------------------------------------------------------------- #
# Drop table "TIPO_FORNITORE"                                            #
# ---------------------------------------------------------------------- #

# Remove autoinc for PK drop #

ALTER TABLE `TIPO_FORNITORE` MODIFY `id_tipoFornitore` INTEGER NOT NULL;

# Drop constraints #

ALTER TABLE `TIPO_FORNITORE` DROP PRIMARY KEY;

# Drop table #

DROP TABLE `TIPO_FORNITORE`;


# ---------------------------------------------------------------------- #
# Modify table "ARTICOLO"                                                #
# ---------------------------------------------------------------------- #
ALTER TABLE `ARTICOLO` drop FOREIGN KEY `TIPOLOGIA_ARTICOLO_ARTICOLO` ;


update ARTICOLO set id_tipologiaArticolo=null;

ALTER TABLE `ARTICOLO` DROP COLUMN `id_tipologiaArticolo`;

# ---------------------------------------------------------------------- #
# Modify table "CLIFOR"                                                  #
# ---------------------------------------------------------------------- #
update CLIFOR set id_tipoFornitore=null;
ALTER TABLE `CLIFOR` drop FOREIGN KEY `TIPO_FORNITORE_CLIFOR` ;
ALTER TABLE `CLIFOR` DROP COLUMN `id_tipoFornitore`;

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

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



ALTER TABLE `TIPO` ADD CONSTRAINT `TIPOLOGIA_ARTICOLO_TIPO` 
    FOREIGN KEY (`id_tipologiaArticolo`) REFERENCES `TIPOLOGIA_ARTICOLO` (`id_tipologiaArticolo`);


## aggiorno le tipologia articolo... sperando che ci sia almeno 1
UPDATE TIPO set id_tipologiaArticolo=1;


## questo va impostato perchè c’era su atelier una fk di tipo errata su articolo
##togliere queste fk e poi eseguire il constraint
ALTER TABLE `ARTICOLO` ADD CONSTRAINT `TIPO_ARTICOLO` 
    FOREIGN KEY (`id_tipo`) REFERENCES `TIPO` (`id_tipo`);

##aggiustamenti atelier.. data fine vld

delete from ARTICOLO where id_articolo=1;
#update ARTICOLO set dataFineVld=null;
delete from ARTICOLO 	WHERE dataFineVld is not null;
#CANCELLO TUTTE LE VARIANTI
delete from ARTICOLO_VARIANTE; 


# ---------------------------------------------------------------------- #
# Modify table "ARTICOLO"         
##serve per le ricerche senza andare in join                                       #
# ---------------------------------------------------------------------- #

ALTER TABLE `ARTICOLO` add `flgTipoMagazzino` INTEGER;



