diff --git a/update/migration-utf8mb4.php b/update/migration-utf8mb4.php index 3b7bb08..eb78179 100644 --- a/update/migration-utf8mb4.php +++ b/update/migration-utf8mb4.php @@ -290,6 +290,8 @@ foreach($zielTabellen as $schluessel => $z) $gemeinsam[] = $name; elseif(($ersatz = ersatzwert($spalte)) !== null) $ergaenzt[$name] = $ersatz[0]; + elseif(stripos($spalte["extra"], "auto_increment") === false) + $hinweise[] = "Spalte ".$z["name"].".".$name." fehlt in der Quelle, es gilt der Standardwert ".$spalte["standard"]."."; } foreach(array_diff(array_keys($q["spalten"]), array_keys($z["spalten"])) as $name) $hinweise[] = "Spalte ".$q["name"].".".$name." gibt es im neuen Schema nicht, sie wird nicht übernommen."; diff --git a/update/schema.sql b/update/schema.sql index 060cbe5..b445e2a 100644 --- a/update/schema.sql +++ b/update/schema.sql @@ -4,39 +4,44 @@ -- stammen aus ingwa, weil sie dort fehlen, der Code sie aber braucht. -- Einheitlich utf8mb4. Die Anwendung verbindet sich im strikten sql_mode -- (siehe db_verbinden() in incs/db.php). +-- +-- Pflichtspalten haben als DEFAULT den Wert, den der frühere nicht strikte +-- Modus beim Weglassen eingesetzt hat ('', 0, Nulldatum). Weggelassene +-- Spalten verhalten sich damit wie bisher; ungültige Werte, zu lange Texte +-- und falsche Verweise lehnt der strikte Modus trotzdem ab. SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; CREATE TABLE `accesstype` ( `id` tinyint(3) NOT NULL AUTO_INCREMENT, - `typ` varchar(20) NOT NULL, + `typ` varchar(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `addKey` ( - `accesskey` int(11) NOT NULL, - `datetime` datetime NOT NULL + `accesskey` int(11) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `adresse` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `partner_id` int(11) NOT NULL, - `anrede_id` int(5) NOT NULL, - `anrede2_id` int(5) NOT NULL, - `titel_id` int(5) NOT NULL, - `titel2_id` int(5) NOT NULL, - `vname` varchar(50) NOT NULL, - `vname2` varchar(50) NOT NULL, - `nname` varchar(50) NOT NULL, - `nname2` varchar(50) NOT NULL, - `firma` varchar(50) NOT NULL, - `str_id` int(11) NOT NULL, - `typ_id` int(2) NOT NULL, - `hnr` varchar(10) NOT NULL, - `zusatz` varchar(100) NOT NULL, - `gebdat` date NOT NULL, - `gebdat2` date NOT NULL, + `partner_id` int(11) NOT NULL DEFAULT 0, + `anrede_id` int(5) NOT NULL DEFAULT 0, + `anrede2_id` int(5) NOT NULL DEFAULT 0, + `titel_id` int(5) NOT NULL DEFAULT 0, + `titel2_id` int(5) NOT NULL DEFAULT 0, + `vname` varchar(50) NOT NULL DEFAULT '', + `vname2` varchar(50) NOT NULL DEFAULT '', + `nname` varchar(50) NOT NULL DEFAULT '', + `nname2` varchar(50) NOT NULL DEFAULT '', + `firma` varchar(50) NOT NULL DEFAULT '', + `str_id` int(11) NOT NULL DEFAULT 0, + `typ_id` int(2) NOT NULL DEFAULT 0, + `hnr` varchar(10) NOT NULL DEFAULT '', + `zusatz` varchar(100) NOT NULL DEFAULT '', + `gebdat` date NOT NULL DEFAULT '0000-00-00', + `gebdat2` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`id`), KEY `fk_partner_titel_id` (`titel_id`), KEY `fk_partner_anrede_id` (`anrede_id`), @@ -52,16 +57,16 @@ CREATE TABLE `adresse` ( CREATE TABLE `adresstyp` ( `id` int(2) NOT NULL AUTO_INCREMENT, - `typ` varchar(20) NOT NULL, + `typ` varchar(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `altlasten` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `vacationdays` int(11) NOT NULL, - `hours` decimal(8,4) NOT NULL, - `ma_id` int(11) NOT NULL, - `last_generated` date NOT NULL, + `vacationdays` int(11) NOT NULL DEFAULT 0, + `hours` decimal(8,4) NOT NULL DEFAULT 0, + `ma_id` int(11) NOT NULL DEFAULT 0, + `last_generated` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`id`), KEY `fk_altlasten_user_id` (`ma_id`), CONSTRAINT `fk_altlasten_user_id` FOREIGN KEY (`ma_id`) REFERENCES `user` (`id`) ON UPDATE CASCADE @@ -69,17 +74,17 @@ CREATE TABLE `altlasten` ( CREATE TABLE `anrede` ( `id` int(5) NOT NULL AUTO_INCREMENT, - `anrede` varchar(20) NOT NULL, + `anrede` varchar(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `artikel` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `bezeichn` varchar(150) NOT NULL, - `typ_id` int(5) NOT NULL, - `datetime` datetime NOT NULL, - `user_id` int(11) NOT NULL, - `einheit_id` int(11) NOT NULL, + `bezeichn` varchar(150) NOT NULL DEFAULT '', + `typ_id` int(5) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `user_id` int(11) NOT NULL DEFAULT 0, + `einheit_id` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_artikel_typ_id` (`typ_id`), KEY `fk_art_rech_einheit_id` (`einheit_id`), @@ -90,11 +95,11 @@ CREATE TABLE `artikel` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `artikel_eigensch` ( - `art_id` int(11) NOT NULL, - `eig_id` int(11) NOT NULL, - `rech_id` int(11) NOT NULL, - `posnr` int(5) NOT NULL, - `artposnr` int(11) NOT NULL, + `art_id` int(11) NOT NULL DEFAULT 0, + `eig_id` int(11) NOT NULL DEFAULT 0, + `rech_id` int(11) NOT NULL DEFAULT 0, + `posnr` int(5) NOT NULL DEFAULT 0, + `artposnr` int(11) NOT NULL DEFAULT 0, KEY `fk_art_eig_art_id` (`art_id`), KEY `fk_art_eig_rech_id` (`rech_id`), KEY `fk_art_eig_eig_id` (`eig_id`), @@ -104,17 +109,17 @@ CREATE TABLE `artikel_eigensch` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `artikel_rechn` ( - `art_id` int(11) NOT NULL, - `rech_id` int(11) NOT NULL, - `posnr` int(5) NOT NULL, - `rabatt` int(3) NOT NULL, - `rabatttyp` int(2) NOT NULL, - `menge` decimal(6,3) NOT NULL, + `art_id` int(11) NOT NULL DEFAULT 0, + `rech_id` int(11) NOT NULL DEFAULT 0, + `posnr` int(5) NOT NULL DEFAULT 0, + `rabatt` int(3) NOT NULL DEFAULT 0, + `rabatttyp` int(2) NOT NULL DEFAULT 0, + `menge` decimal(6,3) NOT NULL DEFAULT 0, `preis` decimal(10,2) DEFAULT NULL, - `angtyp` int(1) NOT NULL, - `artmwst` int(3) NOT NULL, - `wanr` varchar(100) NOT NULL, - `pagebreak` int(1) NOT NULL, + `angtyp` int(1) NOT NULL DEFAULT 0, + `artmwst` int(3) NOT NULL DEFAULT 0, + `wanr` varchar(100) NOT NULL DEFAULT '', + `pagebreak` int(1) NOT NULL DEFAULT 0, `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`), KEY `fk_art_rech_art_id` (`art_id`), @@ -124,11 +129,11 @@ CREATE TABLE `artikel_rechn` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `artikel_termin` ( - `art_id` int(11) NOT NULL, - `termin_id` int(11) NOT NULL, - `menge` decimal(6,3) NOT NULL, - `rabatt` int(3) NOT NULL, - `wanr` varchar(100) NOT NULL, + `art_id` int(11) NOT NULL DEFAULT 0, + `termin_id` int(11) NOT NULL DEFAULT 0, + `menge` decimal(6,3) NOT NULL DEFAULT 0, + `rabatt` int(3) NOT NULL DEFAULT 0, + `wanr` varchar(100) NOT NULL DEFAULT '', KEY `fk_art_term_art_id` (`art_id`), KEY `fk_art_term_ang_id` (`termin_id`), CONSTRAINT `fk_art_term_ang_id` FOREIGN KEY (`termin_id`) REFERENCES `termin` (`id`) ON UPDATE CASCADE, @@ -137,15 +142,15 @@ CREATE TABLE `artikel_termin` ( CREATE TABLE `artikelsks` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `rechnr` int(11) NOT NULL, - `bezeichn1` varchar(60) NOT NULL, - `bezeichn2` varchar(60) NOT NULL, - `menge` decimal(6,3) NOT NULL, + `rechnr` int(11) NOT NULL DEFAULT 0, + `bezeichn1` varchar(60) NOT NULL DEFAULT '', + `bezeichn2` varchar(60) NOT NULL DEFAULT '', + `menge` decimal(6,3) NOT NULL DEFAULT 0, `beschr` text DEFAULT NULL, - `pos` tinyint(3) NOT NULL, - `rabatt` tinyint(3) NOT NULL, + `pos` tinyint(3) NOT NULL DEFAULT 0, + `rabatt` tinyint(3) NOT NULL DEFAULT 0, `preis` decimal(10,2) DEFAULT NULL, - `datetime` datetime NOT NULL, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), KEY `fk_artikelsks_rech_id` (`rechnr`), CONSTRAINT `fk_artikelsks_rech_id` FOREIGN KEY (`rechnr`) REFERENCES `rechnung` (`rechnr`) ON UPDATE CASCADE @@ -153,20 +158,20 @@ CREATE TABLE `artikelsks` ( CREATE TABLE `artikeltyp` ( `id` int(5) NOT NULL AUTO_INCREMENT, - `bezeichn` varchar(50) NOT NULL, - `dropdown` tinyint(1) NOT NULL, - `list` tinyint(1) NOT NULL, + `bezeichn` varchar(50) NOT NULL DEFAULT '', + `dropdown` tinyint(1) NOT NULL DEFAULT 0, + `list` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `ausgabe` ( - `id` int(11) NOT NULL, - `user_id` int(11) NOT NULL, - `partner_id` int(11) NOT NULL, - `rec_kto_id` int(11) NOT NULL, - `send_kto_id` int(11) NOT NULL, - `betr` decimal(12,3) NOT NULL, - `rabatt` decimal(4,1) NOT NULL, + `id` int(11) NOT NULL DEFAULT 0, + `user_id` int(11) NOT NULL DEFAULT 0, + `partner_id` int(11) NOT NULL DEFAULT 0, + `rec_kto_id` int(11) NOT NULL DEFAULT 0, + `send_kto_id` int(11) NOT NULL DEFAULT 0, + `betr` decimal(12,3) NOT NULL DEFAULT 0, + `rabatt` decimal(4,1) NOT NULL DEFAULT 0, KEY `fk_ausg_user_id` (`user_id`), KEY `fk_ausg_reckto_id` (`rec_kto_id`), KEY `fk_ausg_sendkto_id` (`send_kto_id`), @@ -179,26 +184,26 @@ CREATE TABLE `ausgabe` ( CREATE TABLE `bank` ( `id` int(5) NOT NULL AUTO_INCREMENT, - `blz` varchar(30) NOT NULL, - `bank` varchar(100) NOT NULL, + `blz` varchar(30) NOT NULL DEFAULT '', + `bank` varchar(100) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `buchungsKontos` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `kto` int(11) NOT NULL, - `name` varchar(100) NOT NULL, - `descr` text NOT NULL, + `kto` int(11) NOT NULL DEFAULT 0, + `name` varchar(100) NOT NULL DEFAULT '', + `descr` text NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `eigensch` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `bezeichn` varchar(100) NOT NULL, - `wert` varchar(50) NOT NULL, - `einheit_id` int(11) NOT NULL, - `datetime` datetime NOT NULL, - `user_id` int(11) NOT NULL, + `bezeichn` varchar(100) NOT NULL DEFAULT '', + `wert` varchar(50) NOT NULL DEFAULT '', + `einheit_id` int(11) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `user_id` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_eigensch_user_id` (`user_id`), KEY `fk_eigensch_einheit_id` (`einheit_id`), @@ -208,16 +213,16 @@ CREATE TABLE `eigensch` ( CREATE TABLE `einheit` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `einheit` varchar(10) NOT NULL, - `si` tinyint(1) NOT NULL, + `einheit` varchar(10) NOT NULL DEFAULT '', + `si` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `kontakt` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `partner_id` int(11) NOT NULL, - `typ_id` int(3) NOT NULL, - `kontakt` varchar(100) NOT NULL, + `partner_id` int(11) NOT NULL DEFAULT 0, + `typ_id` int(3) NOT NULL DEFAULT 0, + `kontakt` varchar(100) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `fk_kontakt_typ_id` (`typ_id`), KEY `fk_kontakt_partner_id` (`partner_id`), @@ -227,18 +232,18 @@ CREATE TABLE `kontakt` ( CREATE TABLE `kontakttyp` ( `id` int(3) NOT NULL AUTO_INCREMENT, - `typ` varchar(20) NOT NULL, + `typ` varchar(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `konto` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `bank_id` int(5) NOT NULL, - `partner_id` int(11) NOT NULL, - `inhaber` varchar(50) NOT NULL, - `iban` varchar(30) NOT NULL, - `swift` varchar(15) NOT NULL, - `ktonr` varchar(20) NOT NULL, + `bank_id` int(5) NOT NULL DEFAULT 0, + `partner_id` int(11) NOT NULL DEFAULT 0, + `inhaber` varchar(50) NOT NULL DEFAULT '', + `iban` varchar(30) NOT NULL DEFAULT '', + `swift` varchar(15) NOT NULL DEFAULT '', + `ktonr` varchar(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `fk_kto_partner_id` (`partner_id`), KEY `fk_kto_bank_id` (`bank_id`), @@ -248,18 +253,18 @@ CREATE TABLE `konto` ( CREATE TABLE `land` ( `id` int(5) NOT NULL AUTO_INCREMENT, - `land_short` varchar(5) NOT NULL, - `land` varchar(30) NOT NULL, - `datetime` datetime NOT NULL, + `land_short` varchar(5) NOT NULL DEFAULT '', + `land` varchar(30) NOT NULL DEFAULT '', + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `log` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `typ_id` tinyint(3) NOT NULL, - `user_id` int(11) NOT NULL, - `datetime` datetime NOT NULL, - `qry` text NOT NULL, + `typ_id` tinyint(3) NOT NULL DEFAULT 0, + `user_id` int(11) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `qry` text NOT NULL DEFAULT '', `undo_qry` text DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_log_accesstype_id` (`typ_id`), @@ -270,12 +275,12 @@ CREATE TABLE `log` ( CREATE TABLE `message` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `send_id` int(11) NOT NULL, - `rec_id` int(11) NOT NULL, + `send_id` int(11) NOT NULL DEFAULT 0, + `rec_id` int(11) NOT NULL DEFAULT 0, `head` varchar(50) DEFAULT NULL, - `msg` text NOT NULL, - `rd` tinyint(1) NOT NULL, - `datetime` datetime NOT NULL, + `msg` text NOT NULL DEFAULT '', + `rd` tinyint(1) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), KEY `fk_msg_senduser_id` (`send_id`), KEY `fk_msg_recuser_id` (`rec_id`), @@ -285,17 +290,17 @@ CREATE TABLE `message` ( CREATE TABLE `mwst` ( `id` int(3) NOT NULL AUTO_INCREMENT, - `mwst` decimal(4,1) NOT NULL, + `mwst` decimal(4,1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `mykonto` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `bank_id` int(5) NOT NULL, - `inhaber` varchar(50) NOT NULL, - `iban` varchar(30) NOT NULL, - `swift` varchar(15) NOT NULL, - `ktonr` varchar(20) NOT NULL, + `bank_id` int(5) NOT NULL DEFAULT 0, + `inhaber` varchar(50) NOT NULL DEFAULT '', + `iban` varchar(30) NOT NULL DEFAULT '', + `swift` varchar(15) NOT NULL DEFAULT '', + `ktonr` varchar(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `fk_mykto_bank_id` (`bank_id`), CONSTRAINT `fk_mykto_bank_id` FOREIGN KEY (`bank_id`) REFERENCES `bank` (`id`) ON UPDATE CASCADE @@ -303,10 +308,10 @@ CREATE TABLE `mykonto` ( CREATE TABLE `notiz` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `partner_id` int(11) NOT NULL, - `notiz` text NOT NULL, - `datetime` datetime NOT NULL, - `color` varchar(6) NOT NULL, + `partner_id` int(11) NOT NULL DEFAULT 0, + `notiz` text NOT NULL DEFAULT '', + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `color` varchar(6) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `fk_notizen_partner_id` (`partner_id`), CONSTRAINT `fk_notizen_partner_id` FOREIGN KEY (`partner_id`) REFERENCES `partner` (`id`) ON UPDATE CASCADE @@ -314,11 +319,11 @@ CREATE TABLE `notiz` ( CREATE TABLE `ort` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ort` varchar(30) NOT NULL, - `ortsteil` varchar(30) NOT NULL, - `plz` varchar(15) NOT NULL, - `vwahl` varchar(15) NOT NULL, - `land_id` int(5) NOT NULL, + `ort` varchar(30) NOT NULL DEFAULT '', + `ortsteil` varchar(30) NOT NULL DEFAULT '', + `plz` varchar(15) NOT NULL DEFAULT '', + `vwahl` varchar(15) NOT NULL DEFAULT '', + `land_id` int(5) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_ort_land_id` (`land_id`), CONSTRAINT `fk_ort_land_id` FOREIGN KEY (`land_id`) REFERENCES `land` (`id`) ON UPDATE CASCADE @@ -326,15 +331,15 @@ CREATE TABLE `ort` ( CREATE TABLE `partner` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime_new` datetime NOT NULL, - `datetime_lastchange` datetime NOT NULL, - `user_id` int(11) NOT NULL, - `typ_id` int(2) NOT NULL, - `zahlziel_id` int(3) NOT NULL, - `rabatt` int(3) NOT NULL, - `sks_not_checked` int(1) NOT NULL, - `sks_kdnotiz` text NOT NULL, - `updated_by` int(11) NOT NULL, + `datetime_new` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `datetime_lastchange` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `user_id` int(11) NOT NULL DEFAULT 0, + `typ_id` int(2) NOT NULL DEFAULT 0, + `zahlziel_id` int(3) NOT NULL DEFAULT 0, + `rabatt` int(3) NOT NULL DEFAULT 0, + `sks_not_checked` int(1) NOT NULL DEFAULT 0, + `sks_kdnotiz` text NOT NULL DEFAULT '', + `updated_by` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_partner_typ_id` (`typ_id`), KEY `fk_partner_zahlziel_id` (`zahlziel_id`), @@ -346,71 +351,71 @@ CREATE TABLE `partner` ( CREATE TABLE `partnertyp` ( `id` int(2) NOT NULL AUTO_INCREMENT, - `typ` varchar(15) NOT NULL, + `typ` varchar(15) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `passkeys` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `lastAuth` datetime NOT NULL, - `name` varchar(40) NOT NULL, - `userId` int(11) NOT NULL, - `credentialId` varchar(1023) NOT NULL, - `credentialPublicKey` text NOT NULL, - `signatureCounter` text NOT NULL, - `authKey` int(11) NOT NULL, + `lastAuth` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `name` varchar(40) NOT NULL DEFAULT '', + `userId` int(11) NOT NULL DEFAULT 0, + `credentialId` varchar(1023) NOT NULL DEFAULT '', + `credentialPublicKey` text NOT NULL DEFAULT '', + `signatureCounter` text NOT NULL DEFAULT '', + `authKey` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `project` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(150) NOT NULL, - `name2` varchar(150) NOT NULL, - `partner_id` int(11) NOT NULL, - `changetime` datetime NOT NULL, - `changeuser` int(11) NOT NULL, - `datetime` datetime NOT NULL, - `intro` text NOT NULL, - `outro` text NOT NULL, + `name` varchar(150) NOT NULL DEFAULT '', + `name2` varchar(150) NOT NULL DEFAULT '', + `partner_id` int(11) NOT NULL DEFAULT 0, + `changetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `changeuser` int(11) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `intro` text NOT NULL DEFAULT '', + `outro` text NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `fek_proj_partner_id` (`partner_id`), CONSTRAINT `fek_proj_partner_id` FOREIGN KEY (`partner_id`) REFERENCES `partner` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `rechnr` ( - `rechnr` int(11) NOT NULL, - `typ_id` int(5) NOT NULL, + `rechnr` int(11) NOT NULL DEFAULT 0, + `typ_id` int(5) NOT NULL DEFAULT 0, PRIMARY KEY (`rechnr`,`typ_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `rechnung` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `adressfields` varchar(12) NOT NULL, - `anrede1` varchar(150) NOT NULL, - `anrede2` varchar(150) NOT NULL, - `partner_id` int(11) NOT NULL, - `mwst_id` int(3) NOT NULL, - `user_id` int(11) NOT NULL, - `typ_id` int(2) NOT NULL, - `zahlziel_id` int(3) NOT NULL, - `adresse_id` int(11) NOT NULL, - `wahrung_id` tinyint(3) NOT NULL, - `changetime` datetime NOT NULL, - `changeuser` int(11) NOT NULL, - `datetime` datetime NOT NULL, - `rechnr` int(11) NOT NULL, - `rabatt` int(3) NOT NULL, - `rabattdesc` varchar(100) NOT NULL, - `intro` text NOT NULL, - `outro` text NOT NULL, - `sks` tinyint(1) NOT NULL, - `sub_mwst` int(1) NOT NULL, - `kommission` int(11) NOT NULL, - `lieferdatum` varchar(100) NOT NULL, - `adresserweiterung` varchar(100) NOT NULL, + `adressfields` varchar(12) NOT NULL DEFAULT '', + `anrede1` varchar(150) NOT NULL DEFAULT '', + `anrede2` varchar(150) NOT NULL DEFAULT '', + `partner_id` int(11) NOT NULL DEFAULT 0, + `mwst_id` int(3) NOT NULL DEFAULT 0, + `user_id` int(11) NOT NULL DEFAULT 0, + `typ_id` int(2) NOT NULL DEFAULT 0, + `zahlziel_id` int(3) NOT NULL DEFAULT 0, + `adresse_id` int(11) NOT NULL DEFAULT 0, + `wahrung_id` tinyint(3) NOT NULL DEFAULT 0, + `changetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `changeuser` int(11) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `rechnr` int(11) NOT NULL DEFAULT 0, + `rabatt` int(3) NOT NULL DEFAULT 0, + `rabattdesc` varchar(100) NOT NULL DEFAULT '', + `intro` text NOT NULL DEFAULT '', + `outro` text NOT NULL DEFAULT '', + `sks` tinyint(1) NOT NULL DEFAULT 0, + `sub_mwst` int(1) NOT NULL DEFAULT 0, + `kommission` int(11) NOT NULL DEFAULT 0, + `lieferdatum` varchar(100) NOT NULL DEFAULT '', + `adresserweiterung` varchar(100) NOT NULL DEFAULT '', `storno` int(1) NOT NULL DEFAULT 0, - `stornodate` datetime NOT NULL, - `buchungsKto_id` int(11) NOT NULL, + `stornodate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `buchungsKto_id` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fek_rech_partner_id` (`partner_id`), KEY `fek_rech_adresse_id` (`adresse_id`), @@ -433,15 +438,15 @@ CREATE TABLE `rechnung` ( CREATE TABLE `rechtyp` ( `id` int(3) NOT NULL AUTO_INCREMENT, - `typ` varchar(20) NOT NULL, + `typ` varchar(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `setting` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `opt` varchar(10) NOT NULL, - `val` text NOT NULL, + `user_id` int(11) NOT NULL DEFAULT 0, + `opt` varchar(10) NOT NULL DEFAULT '', + `val` text NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `fk_settings_user_id` (`user_id`), CONSTRAINT `fk_settings_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON UPDATE CASCADE @@ -449,8 +454,8 @@ CREATE TABLE `setting` ( CREATE TABLE `strasse` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `str` varchar(50) NOT NULL, - `ort_id` int(11) NOT NULL, + `str` varchar(50) NOT NULL DEFAULT '', + `ort_id` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_str_ort_id` (`ort_id`), CONSTRAINT `fk_str_ort_id` FOREIGN KEY (`ort_id`) REFERENCES `ort` (`id`) ON UPDATE CASCADE @@ -458,12 +463,12 @@ CREATE TABLE `strasse` ( CREATE TABLE `tel` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ort_id` int(11) NOT NULL, - `partner_id` int(11) NOT NULL, - `typ_id` int(3) NOT NULL, - `nr` varchar(20) NOT NULL, - `name` varchar(30) NOT NULL, - `adresse_id` int(11) NOT NULL, + `ort_id` int(11) NOT NULL DEFAULT 0, + `partner_id` int(11) NOT NULL DEFAULT 0, + `typ_id` int(3) NOT NULL DEFAULT 0, + `nr` varchar(20) NOT NULL DEFAULT '', + `name` varchar(30) NOT NULL DEFAULT '', + `adresse_id` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_tel_ort_id` (`ort_id`), KEY `fk_tel_typ_id` (`typ_id`), @@ -475,29 +480,29 @@ CREATE TABLE `tel` ( CREATE TABLE `teltyp` ( `id` int(3) NOT NULL AUTO_INCREMENT, - `typ` varchar(20) NOT NULL, + `typ` varchar(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `termin` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `typ` int(2) NOT NULL, - `adresse_id` int(11) NOT NULL, - `text` text NOT NULL, - `changetime` datetime NOT NULL, - `done` tinyint(1) NOT NULL, - `user` int(11) NOT NULL, - `changeuser` int(11) NOT NULL, - `datetime` datetime NOT NULL, - `termtime` datetime NOT NULL, - `termdauer` time NOT NULL, - `followed_by` int(11) NOT NULL, - `act_date` datetime NOT NULL, - `head` varchar(100) NOT NULL, - `main_id` int(11) NOT NULL, - `user2` int(11) NOT NULL, - `user3` int(11) NOT NULL, - `user4` int(11) NOT NULL, + `typ` int(2) NOT NULL DEFAULT 0, + `adresse_id` int(11) NOT NULL DEFAULT 0, + `text` text NOT NULL DEFAULT '', + `changetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `done` tinyint(1) NOT NULL DEFAULT 0, + `user` int(11) NOT NULL DEFAULT 0, + `changeuser` int(11) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `termtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `termdauer` time NOT NULL DEFAULT '00:00:00', + `followed_by` int(11) NOT NULL DEFAULT 0, + `act_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `head` varchar(100) NOT NULL DEFAULT '', + `main_id` int(11) NOT NULL DEFAULT 0, + `user2` int(11) NOT NULL DEFAULT 0, + `user3` int(11) NOT NULL DEFAULT 0, + `user4` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_termin_typ_termtyp_id` (`typ`), CONSTRAINT `fk_termin_typ_termtyp_id` FOREIGN KEY (`typ`) REFERENCES `termtyp` (`id`) ON UPDATE CASCADE @@ -505,33 +510,33 @@ CREATE TABLE `termin` ( CREATE TABLE `termtyp` ( `id` int(2) NOT NULL AUTO_INCREMENT, - `typ` varchar(20) NOT NULL, + `typ` varchar(20) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `titel` ( `id` int(5) NOT NULL AUTO_INCREMENT, - `titel` varchar(50) NOT NULL, - `datetime` datetime NOT NULL, + `titel` varchar(50) NOT NULL DEFAULT '', + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `tmp_artikel` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `bezeichn` varchar(150) NOT NULL, - `typ_id` int(5) NOT NULL, - `einheit_id` int(11) NOT NULL, + `bezeichn` varchar(150) NOT NULL DEFAULT '', + `typ_id` int(5) NOT NULL DEFAULT 0, + `einheit_id` int(11) NOT NULL DEFAULT 0, `preis` decimal(10,2) DEFAULT NULL, - `datetime` datetime NOT NULL, - `posnr` int(5) NOT NULL, - `rabatt` int(3) NOT NULL, - `rabatttyp` int(2) NOT NULL, - `menge` decimal(6,3) NOT NULL, - `angtyp` int(1) NOT NULL, - `mwst_id` int(3) NOT NULL, - `rech_id` int(11) NOT NULL, - `wanr` varchar(100) NOT NULL, - `pagebreak` int(1) NOT NULL, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `posnr` int(5) NOT NULL DEFAULT 0, + `rabatt` int(3) NOT NULL DEFAULT 0, + `rabatttyp` int(2) NOT NULL DEFAULT 0, + `menge` decimal(6,3) NOT NULL DEFAULT 0, + `angtyp` int(1) NOT NULL DEFAULT 0, + `mwst_id` int(3) NOT NULL DEFAULT 0, + `rech_id` int(11) NOT NULL DEFAULT 0, + `wanr` varchar(100) NOT NULL DEFAULT '', + `pagebreak` int(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_tmp_artikel_typ_id` (`typ_id`), KEY `fk_tmp_art_mwst_id` (`mwst_id`), @@ -545,12 +550,12 @@ CREATE TABLE `tmp_artikel` ( CREATE TABLE `tmp_eigensch` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `bezeichn` varchar(100) NOT NULL, - `wert` varchar(50) NOT NULL, - `einheit_id` int(11) NOT NULL, - `art_id` int(11) NOT NULL, - `datetime` datetime NOT NULL, - `posnr` int(5) NOT NULL, + `bezeichn` varchar(100) NOT NULL DEFAULT '', + `wert` varchar(50) NOT NULL DEFAULT '', + `einheit_id` int(11) NOT NULL DEFAULT 0, + `art_id` int(11) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `posnr` int(5) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_tmp_eigensch_art_id` (`art_id`), KEY `fk_tmp_eigensch_einheit_id` (`einheit_id`), @@ -560,28 +565,28 @@ CREATE TABLE `tmp_eigensch` ( CREATE TABLE `tmp_rechnung` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `adressfields` varchar(12) NOT NULL, - `partner_id` int(11) NOT NULL, - `anrede1` varchar(150) NOT NULL, - `anrede2` varchar(150) NOT NULL, - `mwst_id` int(3) NOT NULL, - `user_id` int(11) NOT NULL, - `rechnr` int(11) NOT NULL, - `typ_id` int(2) NOT NULL, - `zahlziel_id` int(3) NOT NULL, - `adresse_id` int(11) NOT NULL, - `wahrung_id` tinyint(3) NOT NULL, - `datetime` datetime NOT NULL, - `rabatt` int(3) NOT NULL, - `rabattdesc` varchar(100) NOT NULL, - `intro` text NOT NULL, - `outro` text NOT NULL, - `sub_mwst` int(1) NOT NULL, - `kommission` int(11) NOT NULL, - `lieferdatum` varchar(100) NOT NULL, - `adresserweiterung` varchar(100) NOT NULL, + `adressfields` varchar(12) NOT NULL DEFAULT '', + `partner_id` int(11) NOT NULL DEFAULT 0, + `anrede1` varchar(150) NOT NULL DEFAULT '', + `anrede2` varchar(150) NOT NULL DEFAULT '', + `mwst_id` int(3) NOT NULL DEFAULT 0, + `user_id` int(11) NOT NULL DEFAULT 0, + `rechnr` int(11) NOT NULL DEFAULT 0, + `typ_id` int(2) NOT NULL DEFAULT 0, + `zahlziel_id` int(3) NOT NULL DEFAULT 0, + `adresse_id` int(11) NOT NULL DEFAULT 0, + `wahrung_id` tinyint(3) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `rabatt` int(3) NOT NULL DEFAULT 0, + `rabattdesc` varchar(100) NOT NULL DEFAULT '', + `intro` text NOT NULL DEFAULT '', + `outro` text NOT NULL DEFAULT '', + `sub_mwst` int(1) NOT NULL DEFAULT 0, + `kommission` int(11) NOT NULL DEFAULT 0, + `lieferdatum` varchar(100) NOT NULL DEFAULT '', + `adresserweiterung` varchar(100) NOT NULL DEFAULT '', `storno` int(1) NOT NULL DEFAULT 0, - `buchungsKto_id` int(11) NOT NULL, + `buchungsKto_id` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_tmp_rech_partner_id` (`partner_id`), KEY `fk_tmp_rech_adresse_id` (`adresse_id`), @@ -603,49 +608,49 @@ CREATE TABLE `tmp_rechnung` ( CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `vname` varchar(50) NOT NULL, - `nname` varchar(50) NOT NULL, - `nick` varchar(50) NOT NULL, - `pass` varchar(150) NOT NULL, - `mail` varchar(50) NOT NULL, - `salt` varchar(50) NOT NULL, - `tel_priv` varchar(30) NOT NULL, - `tel_gesch` varchar(30) NOT NULL, - `tel_mobil` varchar(30) NOT NULL, - `lastlogin` datetime NOT NULL, - `numlogins` int(11) NOT NULL, - `logedout` tinyint(2) NOT NULL, - `wrongpw` tinyint(3) NOT NULL, - `notizen` text NOT NULL, - `blocked` tinyint(1) NOT NULL, - `rights` varchar(6) NOT NULL, - `weekly_hours` int(11) NOT NULL, - `rfid` varchar(10) NOT NULL, - `color` varchar(8) NOT NULL, - `weekhours` decimal(6,3) NOT NULL, - `vacationdays` int(4) NOT NULL, - `sahours` decimal(3,1) NOT NULL, - `timelog_start` date NOT NULL, + `vname` varchar(50) NOT NULL DEFAULT '', + `nname` varchar(50) NOT NULL DEFAULT '', + `nick` varchar(50) NOT NULL DEFAULT '', + `pass` varchar(150) NOT NULL DEFAULT '', + `mail` varchar(50) NOT NULL DEFAULT '', + `salt` varchar(50) NOT NULL DEFAULT '', + `tel_priv` varchar(30) NOT NULL DEFAULT '', + `tel_gesch` varchar(30) NOT NULL DEFAULT '', + `tel_mobil` varchar(30) NOT NULL DEFAULT '', + `lastlogin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `numlogins` int(11) NOT NULL DEFAULT 0, + `logedout` tinyint(2) NOT NULL DEFAULT 0, + `wrongpw` tinyint(3) NOT NULL DEFAULT 0, + `notizen` text NOT NULL DEFAULT '', + `blocked` tinyint(1) NOT NULL DEFAULT 0, + `rights` varchar(6) NOT NULL DEFAULT '', + `weekly_hours` int(11) NOT NULL DEFAULT 0, + `rfid` varchar(10) NOT NULL DEFAULT '', + `color` varchar(8) NOT NULL DEFAULT '', + `weekhours` decimal(6,3) NOT NULL DEFAULT 0, + `vacationdays` int(4) NOT NULL DEFAULT 0, + `sahours` decimal(3,1) NOT NULL DEFAULT 0, + `timelog_start` date NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (`id`), UNIQUE KEY `nick` (`nick`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `wahrung` ( `id` tinyint(3) NOT NULL AUTO_INCREMENT, - `wahrung` varchar(20) NOT NULL, + `wahrung` varchar(20) NOT NULL DEFAULT '', `kurs` decimal(8,4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `work` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `bezeichn` varchar(150) NOT NULL, - `bezeichn2` varchar(150) NOT NULL, - `project_id` int(11) NOT NULL, - `changetime` datetime NOT NULL, - `changeuser` int(11) NOT NULL, - `datetime` datetime NOT NULL, - `std` decimal(6,3) NOT NULL, + `bezeichn` varchar(150) NOT NULL DEFAULT '', + `bezeichn2` varchar(150) NOT NULL DEFAULT '', + `project_id` int(11) NOT NULL DEFAULT 0, + `changetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `changeuser` int(11) NOT NULL DEFAULT 0, + `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `std` decimal(6,3) NOT NULL DEFAULT 0, `rechn` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fek_work_partner_id` (`project_id`), @@ -654,16 +659,16 @@ CREATE TABLE `work` ( CREATE TABLE `zahlziel` ( `id` int(3) NOT NULL AUTO_INCREMENT, - `ziel` varchar(150) NOT NULL, + `ziel` varchar(150) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE `zeiten` ( `id` int(11) NOT NULL AUTO_INCREMENT, - `ma_id` int(11) NOT NULL, - `kommen` datetime NOT NULL, - `gehen` datetime NOT NULL, - `pause_mins` int(11) NOT NULL, + `ma_id` int(11) NOT NULL DEFAULT 0, + `kommen` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `gehen` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `pause_mins` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `fk_zeiten_user_id` (`ma_id`), CONSTRAINT `fk_zeiten_user_id` FOREIGN KEY (`ma_id`) REFERENCES `user` (`id`) ON UPDATE CASCADE