/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `allegati`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `allegati` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint unsigned DEFAULT NULL, `nome_file_originale` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `nome_file_storage` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `percorso_file_storage` text COLLATE utf8mb4_unicode_ci NOT NULL, `tipo_mime` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL, `dimensione_byte` bigint unsigned NOT NULL, `descrizione` text COLLATE utf8mb4_unicode_ci, `allegabile_id` bigint unsigned NOT NULL, `allegabile_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL, `id_utente_caricamento` bigint unsigned DEFAULT NULL, `tags` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `allegati_nome_file_storage_unique` (`nome_file_storage`), KEY `allegati_allegabile_id_allegabile_type_index` (`allegabile_id`,`allegabile_type`), KEY `allegati_stabile_id_foreign` (`stabile_id`), CONSTRAINT `allegati_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `amministratori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `amministratori` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `cognome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `user_id` bigint unsigned NOT NULL, `denominazione_studio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `partita_iva` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `codice_fiscale_studio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `indirizzo_studio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `cap_studio` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `citta_studio` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `provincia_studio` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `telefono_studio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `cellulare` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `email_studio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `pec_studio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `database_attivo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Nome del database dedicato per questo amministratore', `server_database` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'IP/hostname del server che ospita il database', `server_port` int DEFAULT '3306' COMMENT 'Porta del server database', `server_username` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Username database (se diverso dal default)', `server_password_encrypted` text COLLATE utf8mb4_unicode_ci COMMENT 'Password database criptata', `stato_sincronizzazione` enum('attivo','manutenzione','errore','migrazione') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'attivo' COMMENT 'Stato sincronizzazione database', `ultimo_backup` timestamp NULL DEFAULT NULL COMMENT 'Data ultimo backup automatico', `dimensione_archivio` bigint DEFAULT NULL COMMENT 'Dimensione archivio in bytes', `url_accesso` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'URL specifico per accesso diretto (multi-server)', `dns_principale` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Se true, questo server gestisce il DNS routing', `priorita_server` tinyint NOT NULL DEFAULT '1' COMMENT 'Priorità server (1=principale, 2=backup, etc.)', `cartella_dati` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Percorso cartella dati amministratore', `impostazioni` json DEFAULT NULL COMMENT 'Impostazioni personalizzate amministratore', `attivo` tinyint(1) NOT NULL DEFAULT '1', `ultimo_accesso` timestamp NULL DEFAULT NULL, `codice_amministratore` varchar(8) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `amministratori_codice_univoco_unique` (`codice_amministratore`), UNIQUE KEY `amministratori_partita_iva_unique` (`partita_iva`), KEY `amministratori_user_id_foreign` (`user_id`), CONSTRAINT `amministratori_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `anagrafica_condominiale`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `anagrafica_condominiale` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint unsigned NOT NULL COMMENT 'FK verso amministratori', `codice_univoco` varchar(8) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Codice univoco persona (8 caratteri)', `tipo_soggetto` enum('persona_fisica','persona_giuridica','ditta_individuale') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'persona_fisica', `cognome` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Cognome (se persona fisica)', `nome` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Nome (se persona fisica)', `denominazione` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Denominazione (se persona giuridica)', `codice_fiscale` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Codice fiscale', `partita_iva` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Partita IVA (se presente)', `data_nascita` date DEFAULT NULL, `luogo_nascita` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `provincia_nascita` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `sesso` enum('M','F') COLLATE utf8mb4_unicode_ci DEFAULT NULL, `indirizzo_residenza` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `cap_residenza` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `citta_residenza` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `provincia_residenza` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `nazione_residenza` varchar(2) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'IT', `domicilio_diverso` tinyint(1) NOT NULL DEFAULT '0', `indirizzo_domicilio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `cap_domicilio` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `citta_domicilio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `provincia_domicilio` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `nazione_domicilio` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `stato` enum('attivo','inattivo','deceduto','trasferito') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'attivo', `note` text COLLATE utf8mb4_unicode_ci, `google_contact_id` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ID contatto Google per sincronizzazione', `ultima_sincronizzazione_google` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `anagrafica_condominiale_codice_univoco_unique` (`codice_univoco`), KEY `anagrafica_condominiale_amministratore_id_stato_index` (`amministratore_id`,`stato`), KEY `anagrafica_condominiale_codice_fiscale_index` (`codice_fiscale`), KEY `anagrafica_condominiale_tipo_soggetto_index` (`tipo_soggetto`), KEY `anagrafica_condominiale_amministratore_id_index` (`amministratore_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `audit_logs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `audit_logs` ( `id_audit_log` bigint unsigned NOT NULL AUTO_INCREMENT, `id_utente` bigint unsigned DEFAULT NULL, `nome_tabella` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL, `id_record_modificato` bigint unsigned NOT NULL, `azione` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `valori_precedenti` json DEFAULT NULL, `valori_nuovi` json DEFAULT NULL, `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id_audit_log`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `cache`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `cache` ( `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `value` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `expiration` int NOT NULL, PRIMARY KEY (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `cache_locks`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `cache_locks` ( `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `owner` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `expiration` int NOT NULL, PRIMARY KEY (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `categorie_ticket`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `categorie_ticket` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `descrizione` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `categorie_ticket_nome_unique` (`nome`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `chiavi_stabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `chiavi_stabili` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint unsigned NOT NULL, `codice_chiave` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `qr_code_data` text COLLATE utf8mb4_unicode_ci NOT NULL, `tipologia` enum('portone_principale','porte_secondarie','locali_tecnici','spazi_comuni','servizi','emergenza') COLLATE utf8mb4_unicode_ci NOT NULL, `descrizione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `ubicazione` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `numero_duplicati` int NOT NULL DEFAULT '1', `stato` enum('attiva','smarrita','sostituita','fuori_uso') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'attiva', `assegnata_a` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `data_assegnazione` timestamp NULL DEFAULT NULL, `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `contatti_anagrafica`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `contatti_anagrafica` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `anagrafica_id` bigint unsigned NOT NULL COMMENT 'FK verso anagrafica_condominiale', `tipo_contatto` enum('email','pec','telefono','cellulare','whatsapp','telegram','altro') COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Tipo di contatto', `valore` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Valore del contatto (email, numero, etc.)', `etichetta` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Etichetta personalizzata (es: "lavoro", "casa", "emergenza")', `principale` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Se è il contatto principale per questo tipo', `attivo` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Se il contatto è attivo', `verificato` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Se il contatto è stato verificato', `data_verifica` timestamp NULL DEFAULT NULL, `usa_per_convocazioni` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Usare per convocazioni assemblee', `usa_per_comunicazioni` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Usare per comunicazioni generali', `usa_per_emergenze` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Usare per emergenze', `usa_per_solleciti` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Usare per solleciti pagamento', `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `contatti_anagrafica_anagrafica_id_tipo_contatto_index` (`anagrafica_id`,`tipo_contatto`), KEY `contatti_anagrafica_tipo_contatto_principale_index` (`tipo_contatto`,`principale`), KEY `contatti_anagrafica_anagrafica_id_attivo_index` (`anagrafica_id`,`attivo`), KEY `contatti_anagrafica_anagrafica_id_index` (`anagrafica_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `contratti_locazione`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `contratti_locazione` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint unsigned NOT NULL COMMENT 'FK verso unita_immobiliari', `locatore_id` bigint unsigned NOT NULL COMMENT 'FK verso anagrafica_condominiale (proprietario)', `conduttore_id` bigint unsigned NOT NULL COMMENT 'FK verso anagrafica_condominiale (inquilino)', `numero_contratto` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Numero identificativo contratto', `data_contratto` date NOT NULL COMMENT 'Data stipula contratto', `data_inizio` date NOT NULL COMMENT 'Data inizio locazione', `data_fine` date DEFAULT NULL COMMENT 'Data fine locazione (null = indeterminato)', `canone_mensile` decimal(10,2) NOT NULL COMMENT 'Canone mensile', `deposito_cauzionale` decimal(10,2) DEFAULT NULL COMMENT 'Deposito cauzionale', `tipo_contratto` enum('libero_mercato','concordato','transitorio','studenti','altro') COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Tipo di contratto di locazione', `regime_spese` enum('tutto_inquilino','tutto_proprietario','ripartizione_confedilizia','personalizzato') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'ripartizione_confedilizia' COMMENT 'Come vengono ripartite le spese condominiali', `configurazione_spese` json DEFAULT NULL COMMENT 'Configurazione personalizzata spese (se regime = personalizzato)', `stato` enum('attivo','scaduto','risolto','sospeso') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'attivo', `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `contratti_locazione_unita_immobiliare_id_stato_index` (`unita_immobiliare_id`,`stato`), KEY `contratti_locazione_data_inizio_data_fine_index` (`data_inizio`,`data_fine`), KEY `contratti_locazione_locatore_id_index` (`locatore_id`), KEY `contratti_locazione_conduttore_id_index` (`conduttore_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `dettagli_tabelle_millesimali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `dettagli_tabelle_millesimali` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `tabella_millesimale_id` bigint unsigned NOT NULL, `unita_immobiliare_id` bigint unsigned NOT NULL, `millesimi` decimal(10,4) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_tabella_unita` (`tabella_millesimale_id`,`unita_immobiliare_id`), KEY `dettagli_tabelle_millesimali_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), CONSTRAINT `dettagli_tabelle_millesimali_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE CASCADE, CONSTRAINT `dettagli_tabelle_millesimali_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `dettaglio_ripartizione_spese`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `dettaglio_ripartizione_spese` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `ripartizione_spese_id` bigint unsigned NOT NULL, `unita_immobiliare_id` bigint unsigned NOT NULL, `anagrafica_condominiale_id` bigint unsigned NOT NULL, `millesimi` decimal(8,3) NOT NULL, `importo_calcolato` decimal(10,2) NOT NULL, `importo_rettificato` decimal(10,2) DEFAULT NULL, `motivo_rettifica` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `dettaglio_ripartizione_spese_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `dettaglio_ripartizione_spese_anagrafica_condominiale_id_foreign` (`anagrafica_condominiale_id`), CONSTRAINT `dettaglio_ripartizione_spese_anagrafica_condominiale_id_foreign` FOREIGN KEY (`anagrafica_condominiale_id`) REFERENCES `anagrafica_condominiale` (`id`) ON DELETE CASCADE, CONSTRAINT `dettaglio_ripartizione_spese_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `diritti_reali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `diritti_reali` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint unsigned NOT NULL COMMENT 'FK verso unita_immobiliari', `anagrafica_id` bigint unsigned NOT NULL COMMENT 'FK verso anagrafica_condominiale', `tipo_diritto` enum('proprieta','nuda_proprieta','usufrutto','uso','abitazione','enfiteusi','servitu','superficie','altro') COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Tipo di diritto reale', `quota_numeratore` decimal(10,0) NOT NULL DEFAULT '1' COMMENT 'Numeratore della quota (es: 2 in 2/16)', `quota_denominatore` decimal(10,0) NOT NULL DEFAULT '1' COMMENT 'Denominatore della quota (es: 16 in 2/16)', `percentuale` decimal(5,2) NOT NULL COMMENT 'Percentuale calcolata (es: 12.50 per 2/16)', `data_inizio` date NOT NULL COMMENT 'Data inizio diritto', `data_fine` date DEFAULT NULL COMMENT 'Data fine diritto (null = a tempo indeterminato)', `titolo_acquisizione` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Titolo di acquisizione (compravendita, successione, etc.)', `atto_notarile` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Riferimenti atto notarile', `data_atto` date DEFAULT NULL COMMENT 'Data dell''atto', `notaio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Nome del notaio', `trascrizione_conservatoria` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Numero trascrizione conservatoria', `data_trascrizione` date DEFAULT NULL, `voltura_catastale` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Riferimenti voltura catastale', `data_voltura` date DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Se il diritto è attualmente attivo', `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `diritti_reali_unita_immobiliare_id_attivo_index` (`unita_immobiliare_id`,`attivo`), KEY `diritti_reali_anagrafica_id_tipo_diritto_index` (`anagrafica_id`,`tipo_diritto`), KEY `diritti_reali_data_inizio_data_fine_index` (`data_inizio`,`data_fine`), KEY `diritti_reali_unita_immobiliare_id_index` (`unita_immobiliare_id`), KEY `diritti_reali_anagrafica_id_index` (`anagrafica_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `documenti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `documenti` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `protocollo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `data_protocollo` date DEFAULT NULL, `tipo_documento` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `stabile_id` bigint unsigned DEFAULT NULL, `fornitore_id` bigint unsigned DEFAULT NULL, `esercizio_contabile_id` bigint unsigned DEFAULT NULL, `descrizione` text COLLATE utf8mb4_unicode_ci, `importo` decimal(12,2) DEFAULT NULL, `data_documento` date DEFAULT NULL, `nome_file` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `path_file` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `testo_estratto_ocr` text COLLATE utf8mb4_unicode_ci, `documentable_id` bigint unsigned DEFAULT NULL, `documentable_type` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `documenti_protocollo_unique` (`protocollo`), KEY `documenti_stabile_id_foreign` (`stabile_id`), KEY `documenti_fornitore_id_foreign` (`fornitore_id`), KEY `documenti_documentable_id_index` (`documentable_id`), KEY `documenti_documentable_type_index` (`documentable_type`), CONSTRAINT `documenti_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `failed_jobs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `failed_jobs` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `connection` text COLLATE utf8mb4_unicode_ci NOT NULL, `queue` text COLLATE utf8mb4_unicode_ci NOT NULL, `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `fornitori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `fornitori` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `old_id` int DEFAULT NULL COMMENT 'ID dal vecchio gestionale', `amministratore_id` bigint unsigned NOT NULL, `ragione_sociale` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `partita_iva` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `codice_fiscale` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `indirizzo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `cap` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `citta` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `provincia` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `pec` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `telefono` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `fornitori_old_id_unique` (`old_id`), KEY `fornitori_amministratore_id_foreign` (`amministratore_id`), CONSTRAINT `fornitori_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `gestioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `gestioni` ( `id_gestione` bigint unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint unsigned NOT NULL, `anno_gestione` year NOT NULL, `tipo_gestione` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Ord.', `data_inizio` date DEFAULT NULL, `data_fine` date DEFAULT NULL, `stato` enum('aperta','in_corso','chiusa') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'aperta', `descrizione` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id_gestione`), KEY `gestioni_stabile_id_anno_gestione_index` (`stabile_id`,`anno_gestione`), CONSTRAINT `gestioni_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `impostazioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `impostazioni` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `chiave` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `valore` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `descrizione` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `impostazioni_chiave_unique` (`chiave`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `job_batches`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `job_batches` ( `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `total_jobs` int NOT NULL, `pending_jobs` int NOT NULL, `failed_jobs` int NOT NULL, `failed_job_ids` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `options` mediumtext COLLATE utf8mb4_unicode_ci, `cancelled_at` int DEFAULT NULL, `created_at` int NOT NULL, `finished_at` int DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `jobs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `jobs` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `queue` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `attempts` tinyint unsigned NOT NULL, `reserved_at` int unsigned DEFAULT NULL, `available_at` int unsigned NOT NULL, `created_at` int unsigned NOT NULL, PRIMARY KEY (`id`), KEY `jobs_queue_index` (`queue`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `migrations`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `migrations` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `batch` int NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `model_has_permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `model_has_permissions` ( `permission_id` bigint unsigned NOT NULL, `model_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `model_id` bigint unsigned NOT NULL, PRIMARY KEY (`permission_id`,`model_id`,`model_type`), KEY `model_has_permissions_model_id_model_type_index` (`model_id`,`model_type`), CONSTRAINT `model_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `model_has_roles`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `model_has_roles` ( `role_id` bigint unsigned NOT NULL, `model_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `model_id` bigint unsigned NOT NULL, PRIMARY KEY (`role_id`,`model_id`,`model_type`), KEY `model_has_roles_model_id_model_type_index` (`model_id`,`model_type`), CONSTRAINT `model_has_roles_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `movimenti_contabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `movimenti_contabili` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `codice_movimento` char(8) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Codice alfanumerico univoco 8 caratteri', `stato` enum('bozza','confermato','annullato') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'bozza', `stabile_id` bigint unsigned NOT NULL, `tipo_movimento` enum('entrata','uscita') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'uscita', `categoria_movimento` enum('ordinario','straordinario','fondo','lavori') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'ordinario', `stato_movimento` enum('prima_nota','bozza','confermato','chiuso') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'prima_nota', `data_movimento` date NOT NULL, `data_prima_nota` timestamp NULL DEFAULT NULL, `data_conferma` timestamp NULL DEFAULT NULL, `descrizione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `note` text COLLATE utf8mb4_unicode_ci, `note_interne` text COLLATE utf8mb4_unicode_ci, `importo_lordo` decimal(10,2) NOT NULL, `ritenuta_acconto` decimal(10,2) NOT NULL DEFAULT '0.00', `iva` decimal(10,2) NOT NULL DEFAULT '0.00', `importo_netto` decimal(10,2) NOT NULL, `numero_documento` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `documento_id` bigint unsigned DEFAULT NULL, `dettagli_partita_doppia` json DEFAULT NULL COMMENT 'Struttura per dare/avere futuro', `confermato_da` bigint unsigned DEFAULT NULL, `creato_da` bigint unsigned DEFAULT NULL, `modificato_da` bigint unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `movimenti_contabili_codice_movimento_unique` (`codice_movimento`), KEY `movimenti_contabili_confermato_da_foreign` (`confermato_da`), KEY `movimenti_contabili_creato_da_foreign` (`creato_da`), KEY `movimenti_contabili_modificato_da_foreign` (`modificato_da`), KEY `movimenti_contabili_stabile_id_data_movimento_index` (`stabile_id`,`data_movimento`), KEY `movimenti_contabili_stato_movimento_index` (`stato_movimento`), KEY `movimenti_contabili_tipo_movimento_index` (`tipo_movimento`), CONSTRAINT `movimenti_contabili_confermato_da_foreign` FOREIGN KEY (`confermato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `movimenti_contabili_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `movimenti_contabili_modificato_da_foreign` FOREIGN KEY (`modificato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `movimenti_contabili_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `password_reset_tokens`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `password_reset_tokens` ( `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `permissions` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `guard_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `permissions_name_guard_name_unique` (`name`,`guard_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `personal_access_tokens`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `personal_access_tokens` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `tokenable_id` bigint unsigned NOT NULL, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `abilities` text COLLATE utf8mb4_unicode_ci, `last_used_at` timestamp NULL DEFAULT NULL, `expires_at` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `personal_access_tokens_token_unique` (`token`), KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `piani_conti_modello`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `piani_conti_modello` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL, `descrizione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `tipo_conto` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Es. PATRIMONIALE_ATTIVITA, ECONOMICO_COSTO, FINANZIARIO_ATTIVITA', `natura_saldo_tipico` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'DARE o AVERE', `is_conto_finanziario` tinyint(1) NOT NULL DEFAULT '0', `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `piani_conti_modello_codice_unique` (`codice`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `piano_conti_condominio`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `piano_conti_condominio` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint unsigned NOT NULL, `codice` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL, `descrizione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `tipo_conto` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT '1', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_conto_per_stabile` (`stabile_id`,`codice`), CONSTRAINT `piano_conti_condominio_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `proprieta`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `proprieta` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `soggetto_id` bigint unsigned NOT NULL, `unita_immobiliare_id` bigint unsigned NOT NULL, `tipo_diritto` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `percentuale_possesso` decimal(7,4) DEFAULT NULL, `data_inizio` date DEFAULT NULL, `data_fine` date DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_proprieta_per_unita_soggetto` (`soggetto_id`,`unita_immobiliare_id`,`tipo_diritto`), KEY `proprieta_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), CONSTRAINT `proprieta_soggetto_id_foreign` FOREIGN KEY (`soggetto_id`) REFERENCES `soggetti` (`id`) ON DELETE CASCADE, CONSTRAINT `proprieta_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `rate_emesse`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `rate_emesse` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `piano_rateizzazione_id` bigint unsigned NOT NULL, `unita_immobiliare_id` bigint unsigned NOT NULL, `soggetto_responsabile_id` bigint unsigned NOT NULL, `numero_rata_progressivo` int NOT NULL, `descrizione` text COLLATE utf8mb4_unicode_ci, `importo_originario_unita` decimal(15,2) NOT NULL, `percentuale_addebito_soggetto` decimal(7,4) NOT NULL DEFAULT '100.0000', `importo_addebitato_soggetto` decimal(15,2) NOT NULL, `data_emissione` date NOT NULL, `data_scadenza` date NOT NULL, `stato_rata` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'EMESSA', `data_ultimo_pagamento` date DEFAULT NULL, `importo_pagato` decimal(15,2) NOT NULL DEFAULT '0.00', `note` text COLLATE utf8mb4_unicode_ci, `transazione_contabile_emissione_id` bigint unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_rata_per_soggetto_unita` (`piano_rateizzazione_id`,`unita_immobiliare_id`,`soggetto_responsabile_id`,`numero_rata_progressivo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `ripartizione_spese`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `ripartizione_spese` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `codice_ripartizione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `voce_spesa_id` bigint unsigned NOT NULL, `stabile_id` bigint unsigned NOT NULL, `tabella_millesimale_id` bigint unsigned NOT NULL, `importo_totale` decimal(10,2) NOT NULL, `importo_ripartito` decimal(10,2) NOT NULL DEFAULT '0.00', `tipo_ripartizione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'millesimale', `data_ripartizione` date NOT NULL, `stato` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'bozza', `note` text COLLATE utf8mb4_unicode_ci, `configurazione_ripartizione` json DEFAULT NULL, `creato_da` bigint unsigned NOT NULL, `approvato_at` timestamp NULL DEFAULT NULL, `approvato_da` bigint unsigned DEFAULT NULL, `contabilizzato_at` timestamp NULL DEFAULT NULL, `contabilizzato_da` bigint unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ripartizione_spese_codice_ripartizione_unique` (`codice_ripartizione`), KEY `ripartizione_spese_voce_spesa_id_foreign` (`voce_spesa_id`), KEY `ripartizione_spese_stabile_id_foreign` (`stabile_id`), KEY `ripartizione_spese_creato_da_foreign` (`creato_da`), KEY `ripartizione_spese_tabella_millesimale_id_foreign` (`tabella_millesimale_id`), KEY `ripartizione_spese_approvato_da_foreign` (`approvato_da`), KEY `ripartizione_spese_contabilizzato_da_foreign` (`contabilizzato_da`), CONSTRAINT `ripartizione_spese_approvato_da_foreign` FOREIGN KEY (`approvato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `ripartizione_spese_contabilizzato_da_foreign` FOREIGN KEY (`contabilizzato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `ripartizione_spese_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`), CONSTRAINT `ripartizione_spese_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `ripartizione_spese_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE CASCADE, CONSTRAINT `ripartizione_spese_voce_spesa_id_foreign` FOREIGN KEY (`voce_spesa_id`) REFERENCES `voci_spesa` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `ripartizione_spese_inquilini`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `ripartizione_spese_inquilini` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `categoria` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Categoria spesa (AMMINISTRATIVE, ASCENSORE, etc.)', `descrizione` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Descrizione della spesa', `percentuale_locatore` decimal(5,2) NOT NULL COMMENT 'Percentuale a carico del proprietario', `percentuale_conduttore` decimal(5,2) NOT NULL COMMENT 'Percentuale a carico dell''inquilino', `attivo` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Se la regola è attiva', `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ripartizione_spese_inquilini_categoria_attivo_index` (`categoria`,`attivo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `role_has_permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `role_has_permissions` ( `permission_id` bigint unsigned NOT NULL, `role_id` bigint unsigned NOT NULL, PRIMARY KEY (`permission_id`,`role_id`), KEY `role_has_permissions_role_id_foreign` (`role_id`), CONSTRAINT `role_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE, CONSTRAINT `role_has_permissions_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `roles`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `roles` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `guard_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `roles_name_guard_name_unique` (`name`,`guard_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `sessions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `sessions` ( `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `user_id` bigint unsigned DEFAULT NULL, `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `user_agent` text COLLATE utf8mb4_unicode_ci, `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `last_activity` int NOT NULL, PRIMARY KEY (`id`), KEY `sessions_user_id_index` (`user_id`), KEY `sessions_last_activity_index` (`last_activity`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `soggetti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `soggetti` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `old_id` int DEFAULT NULL COMMENT 'ID dal vecchio gestionale', `nome` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `cognome` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `ragione_sociale` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `codice_fiscale` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `partita_iva` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `telefono` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `indirizzo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `cap` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `citta` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `provincia` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `tipo` enum('proprietario','inquilino','usufruttuario','altro') COLLATE utf8mb4_unicode_ci NOT NULL, `codice_univoco` varchar(8) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `soggetti_codice_univoco_unique` (`codice_univoco`), UNIQUE KEY `soggetti_old_id_unique` (`old_id`), KEY `soggetti_codice_fiscale_index` (`codice_fiscale`), KEY `soggetti_partita_iva_index` (`partita_iva`), KEY `soggetti_email_index` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `stabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `stabili` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint unsigned NOT NULL, `denominazione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `indirizzo` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `cap` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL, `citta` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL, `provincia` varchar(2) COLLATE utf8mb4_unicode_ci NOT NULL, `codice_comune_catasto` varchar(4) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Codice comune catasto (es: H501 per Roma)', `foglio_catasto` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Foglio del catasto', `particella_catasto` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Particella catastale', `codice_destinatario_sdi` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Codice destinatario per fatturazione elettronica SDI', `pec_condominio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'PEC del condominio', `configurazione_default_unita` json DEFAULT NULL COMMENT 'Configurazione default per nuove unità immobiliari', `modalita_rateizzazione` enum('mensile','bimestrale','trimestrale','quadrimestrale','semestrale','annuale') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'trimestrale' COMMENT 'Modalità di rateizzazione ordinaria', `inizio_esercizio` date DEFAULT NULL COMMENT 'Data inizio esercizio (se diverso da 1 gennaio)', `fine_esercizio` date DEFAULT NULL COMMENT 'Data fine esercizio (se diverso da 31 dicembre)', `codice_fiscale` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `note` text COLLATE utf8mb4_unicode_ci, `struttura_fisica_json` json DEFAULT NULL, `numero_palazzine` int NOT NULL DEFAULT '1', `numero_scale_per_palazzina` int NOT NULL DEFAULT '1', `numero_piani` int NOT NULL DEFAULT '3', `piano_seminterrato` tinyint(1) NOT NULL DEFAULT '0', `piano_sottotetto` tinyint(1) NOT NULL DEFAULT '0', `presenza_ascensore` tinyint(1) NOT NULL DEFAULT '0', `cortile_giardino` tinyint(1) NOT NULL DEFAULT '0', `superficie_cortile` decimal(8,2) DEFAULT NULL, `riscaldamento_centralizzato` tinyint(1) NOT NULL DEFAULT '0', `acqua_centralizzata` tinyint(1) NOT NULL DEFAULT '0', `gas_centralizzato` tinyint(1) NOT NULL DEFAULT '0', `servizio_portineria` tinyint(1) NOT NULL DEFAULT '0', `orari_portineria` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `videocitofono` tinyint(1) NOT NULL DEFAULT '0', `antenna_tv_centralizzata` tinyint(1) NOT NULL DEFAULT '0', `internet_condominiale` tinyint(1) NOT NULL DEFAULT '0', `fondo_riserva_minimo` decimal(12,2) NOT NULL DEFAULT '0.00', `importo_rata_standard` decimal(8,2) NOT NULL DEFAULT '0.00', `frequenza_rate` enum('mensile','bimestrale','trimestrale','quadrimestrale','semestrale','annuale') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'trimestrale', `giorno_scadenza_rate` int NOT NULL DEFAULT '15', `iban_condominio` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `millesimi_generali_calcolati` tinyint(1) NOT NULL DEFAULT '0', `millesimi_riscaldamento_separati` tinyint(1) NOT NULL DEFAULT '0', `millesimi_acqua_separati` tinyint(1) NOT NULL DEFAULT '0', `millesimi_ascensore_separati` tinyint(1) NOT NULL DEFAULT '0', `configurazione_avanzata` json DEFAULT NULL, `ultima_generazione_unita` timestamp NULL DEFAULT NULL, `rate_ordinarie_mesi` json DEFAULT NULL, `rate_riscaldamento_mesi` json DEFAULT NULL, `descrizione_rate` text COLLATE utf8mb4_unicode_ci, `stato` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'attivo', `old_id` int DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `stabili_codice_fiscale_unique` (`codice_fiscale`), UNIQUE KEY `stabili_old_id_unique` (`old_id`), KEY `stabili_amministratore_id_foreign` (`amministratore_id`), CONSTRAINT `stabili_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `tabelle_millesimali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `tabelle_millesimali` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint unsigned NOT NULL, `nome_tabella_millesimale` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `descrizione` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_tabella_per_stabile` (`stabile_id`,`nome_tabella_millesimale`), CONSTRAINT `tabelle_millesimali_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `ticket_attachments`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `ticket_attachments` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `ticket_id` bigint unsigned NOT NULL, `ticket_update_id` bigint unsigned DEFAULT NULL, `user_id` bigint unsigned NOT NULL COMMENT 'Utente che ha caricato l allegato', `file_path` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `original_file_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `mime_type` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `size` bigint unsigned DEFAULT NULL COMMENT 'Dimensione in bytes', `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ticket_attachments_ticket_id_foreign` (`ticket_id`), KEY `ticket_attachments_ticket_update_id_foreign` (`ticket_update_id`), KEY `ticket_attachments_user_id_foreign` (`user_id`), CONSTRAINT `ticket_attachments_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_attachments_ticket_update_id_foreign` FOREIGN KEY (`ticket_update_id`) REFERENCES `ticket_updates` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_attachments_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `ticket_messages`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `ticket_messages` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `ticket_id` bigint unsigned NOT NULL, `user_id` bigint unsigned DEFAULT NULL, `messaggio` text COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ticket_messages_ticket_id_foreign` (`ticket_id`), KEY `ticket_messages_user_id_foreign` (`user_id`), CONSTRAINT `ticket_messages_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_messages_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `ticket_updates`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `ticket_updates` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `ticket_id` bigint unsigned NOT NULL, `user_id` bigint unsigned DEFAULT NULL, `update_text` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Testo dell''aggiornamento o nota interna', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ticket_updates_ticket_id_foreign` (`ticket_id`), KEY `ticket_updates_user_id_foreign` (`user_id`), CONSTRAINT `ticket_updates_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_updates_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `tickets`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `tickets` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint unsigned NOT NULL, `unita_immobiliare_id` bigint unsigned DEFAULT NULL, `soggetto_richiedente_id` bigint unsigned DEFAULT NULL, `aperto_da_user_id` bigint unsigned NOT NULL, `categoria_ticket_id` bigint unsigned DEFAULT NULL, `titolo` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `descrizione` text COLLATE utf8mb4_unicode_ci NOT NULL, `luogo_intervento` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Es. Scala A, Piano 3, Interno 5', `stato` enum('Aperto','Preso in Carico','In Lavorazione','In Attesa Approvazione','In Attesa Ricambi','Risolto','Chiuso','Annullato') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Aperto', `priorita` enum('Bassa','Media','Alta','Urgente') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Media', `assegnato_a_user_id` bigint unsigned DEFAULT NULL, `assegnato_a_fornitore_id` bigint unsigned DEFAULT NULL, `data_apertura` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `data_scadenza_prevista` date DEFAULT NULL, `data_risoluzione_effettiva` timestamp NULL DEFAULT NULL, `data_chiusura_effettiva` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `tickets_stabile_id_foreign` (`stabile_id`), KEY `tickets_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `tickets_soggetto_richiedente_id_foreign` (`soggetto_richiedente_id`), KEY `tickets_aperto_da_user_id_foreign` (`aperto_da_user_id`), KEY `tickets_categoria_ticket_id_foreign` (`categoria_ticket_id`), KEY `tickets_assegnato_a_user_id_foreign` (`assegnato_a_user_id`), KEY `tickets_assegnato_a_fornitore_id_foreign` (`assegnato_a_fornitore_id`), CONSTRAINT `tickets_aperto_da_user_id_foreign` FOREIGN KEY (`aperto_da_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE, CONSTRAINT `tickets_assegnato_a_fornitore_id_foreign` FOREIGN KEY (`assegnato_a_fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `tickets_assegnato_a_user_id_foreign` FOREIGN KEY (`assegnato_a_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `tickets_categoria_ticket_id_foreign` FOREIGN KEY (`categoria_ticket_id`) REFERENCES `categorie_ticket` (`id`) ON DELETE SET NULL, CONSTRAINT `tickets_soggetto_richiedente_id_foreign` FOREIGN KEY (`soggetto_richiedente_id`) REFERENCES `soggetti` (`id`) ON DELETE SET NULL, CONSTRAINT `tickets_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `tickets_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `tipi_utilizzo`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `tipi_utilizzo` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Codice tipo utilizzo (es: ABT, NEG, CAN)', `descrizione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Descrizione tipo utilizzo', `note` text COLLATE utf8mb4_unicode_ci COMMENT 'Note aggiuntive', `attivo` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Se il tipo è utilizzabile', `configurazioni_default` json DEFAULT NULL COMMENT 'Configurazioni default per questo tipo', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `tipi_utilizzo_codice_unique` (`codice`), KEY `tipi_utilizzo_codice_index` (`codice`), KEY `tipi_utilizzo_attivo_index` (`attivo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `unita_immobiliari`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `unita_immobiliari` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint unsigned NOT NULL, `palazzina` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Palazzina/Fabbricato', `palazzina_old` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `interno` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `scala` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `piano` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `subalterno` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `tipo_utilizzo_id` bigint unsigned DEFAULT NULL COMMENT 'FK verso tipi_utilizzo', `categoria_catastale` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `superficie` decimal(8,2) DEFAULT NULL, `vani` decimal(5,2) DEFAULT NULL, `millesimi_proprieta` decimal(8,4) DEFAULT NULL COMMENT 'Millesimi di proprietà generale', `rendita_catastale` decimal(10,2) DEFAULT NULL COMMENT 'Rendita catastale', `codice_univoco` varchar(8) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Codice univoco unità (8 caratteri)', `stato` enum('attiva','inattiva','venduta','demolita') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'attiva', `indirizzo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Indirizzo specifico se diverso da quello del condominio', `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unita_immobiliari_codice_univoco_unique` (`codice_univoco`), KEY `idx_unita_stabile_stato` (`stabile_id`,`stato`), KEY `idx_unita_tipo_utilizzo` (`tipo_utilizzo_id`), CONSTRAINT `unita_immobiliari_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `user_settings`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `user_settings` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint unsigned NOT NULL, `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `value` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `user_settings_user_id_key_unique` (`user_id`,`key`), CONSTRAINT `user_settings_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `users`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `users` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `email_verified_at` timestamp NULL DEFAULT NULL, `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `users_email_unique` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `voci_spesa`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `voci_spesa` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint unsigned NOT NULL, `codice` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `descrizione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `categoria` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `tipo_gestione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'ordinaria', `tabella_millesimale_default_id` bigint unsigned DEFAULT NULL, `ritenuta_acconto_default` decimal(5,2) NOT NULL DEFAULT '0.00', `attiva` tinyint(1) NOT NULL DEFAULT '1', `ordinamento` int NOT NULL DEFAULT '0', `tipo` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'ordinaria/straordinaria/riscaldamento/altro', `note` text COLLATE utf8mb4_unicode_ci, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `voci_spesa_codice_unique` (`codice`), KEY `voci_spesa_tabella_millesimale_default_id_foreign` (`tabella_millesimale_default_id`), KEY `voci_spesa_stabile_id_categoria_index` (`stabile_id`,`categoria`), KEY `voci_spesa_stabile_id_attiva_index` (`stabile_id`,`attiva`), CONSTRAINT `voci_spesa_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `voci_spesa_tabella_millesimale_default_id_foreign` FOREIGN KEY (`tabella_millesimale_default_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (1,'0001_01_01_000000_create_users_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (2,'0001_01_01_000001_create_cache_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (3,'0001_01_01_000002_create_jobs_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (4,'2024_01_01_000001_rename_condomini_to_stabili',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (5,'2024_01_01_130000_create_proprieta_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (6,'2024_01_02_000001_create_contabilita_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (7,'2024_01_03_000001_create_richieste_modifiche_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (8,'2024_01_04_000001_create_preventivi_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (9,'2024_01_05_000001_create_bilanci_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (10,'2024_01_06_000001_create_assemblee_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (11,'2025_06_10_230939_create_personal_access_tokens_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (12,'2025_06_16_142114_create_fornitores_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (13,'2025_06_20_195618_create_conti_condominio_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (14,'2025_06_20_201000_create_tabelle_millesimali_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (15,'2025_06_20_201025_create_dettagli_tabelle_millesimali_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (16,'2025_06_20_214000_create_gestioni_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (17,'2025_06_20_214100_create_voci_spesa_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (18,'2025_06_20_214208_create_piani_conti_modello_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (19,'2025_06_20_214208_create_piano_conti_condominio_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (20,'2025_06_20_214208_create_transazioni_contabili_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (21,'2025_06_20_214209_create_righe_movimenti_contabili_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (22,'2025_06_20_214609_create_preventivi_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (23,'2025_06_20_215902_create_contratti_locazione_attiva_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (24,'2025_06_20_215903_create_scadenze_locazione_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (25,'2025_06_20_220112_create_audit_logs_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (26,'2025_06_21_110019_add_protocol_fields_to_transazioni_contabili_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (27,'2025_06_21_185813_create_permission_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (28,'2025_07_01_000001_create_contabilita_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (29,'2025_07_01_000003_create_richieste_modifiche_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (30,'2025_07_01_000004_create_preventivi_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (31,'2025_07_01_000005_create_bilanci_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (32,'2025_07_01_000006_create_assemblee_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (33,'2025_07_01_999997_create_rateizzazione_full_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (34,'2025_07_01_999998_create_rate_emesse_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (35,'2025_07_01_999999_add_fk_rate_emesse_piano_rateizzazione',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (36,'2025_07_02_000010_create_anagrafiche_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (37,'2025_07_03_000000_create_allegati_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (38,'2025_07_03_000001_create_ticketing_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (39,'2025_07_04_000100_create_roles_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (40,'2025_07_05_120000_create_documenti_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (41,'2025_07_05_150805_create_gestioni_table_temp',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (42,'2025_07_05_165959_create_user_settings_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (43,'2025_07_05_200000_create_impostazioni_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (44,'2025_07_07_150000_add_modern_fields_to_amministratori_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (45,'2025_07_07_160000_create_movimenti_contabili_table_fresh',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (46,'2025_07_07_215036_add_multi_database_fields_to_amministratori',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (47,'2025_07_07_223113_enhance_stabili_catasto_data',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (48,'2025_07_07_223229_enhance_unita_immobiliari_structure',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (49,'2025_07_07_223323_create_tipi_utilizzo_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (50,'2025_07_07_223601_create_anagrafica_condominiale_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (51,'2025_07_07_223702_create_contatti_anagrafica_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (52,'2025_07_07_223756_create_diritti_reali_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (53,'2025_07_07_223902_create_ripartizione_spese_inquilini_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (54,'2025_07_08_063341_create_contratti_locazione_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (55,'2025_07_08_150614_enhance_voci_spesa_table_structure',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (57,'2025_07_08_223534_drop_ripartizione_tables',2); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (58,'2025_07_08_151345_create_ripartizione_spese_table',3); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (59,'2025_07_08_151838_create_piano_rateizzazione_table',4); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (60,'2025_07_07_120000_create_amministratori_table',4); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (61,'2025_07_07_130000_create_stabili_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (62,'2025_07_07_140000_add_columns_to_movimenti_contabili_table',5); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (63,'2025_07_08_151547_create_dettaglio_ripartizione_spese_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (64,'2025_07_08_151654_create_rate_table',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (65,'2025_07_08_230423_add_foreign_keys_to_ripartizione_tables',1); INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES (67,'2025_07_14_140000_add_advanced_fields_to_stabili_table',6);