WebsiteBaker Support (2.12.x) > Hilfe & Support (deutsch)
SQL-Dump-Konverter erzeugt fehlerhafte Install-struct.sql
(1/1)
kuerbis42:
Hallo Leute,
ich bin schier am verzweifeln, ich denke es liegt an einem REG-Ex Ausdruck innerhalb des SQL-Dump-Konverters.
Hier die Original-Struktur (Auszug) vom MyPhpAdmin-Export:
--- Code: ----- Tabellenstruktur für Tabelle `wb_mod_employees`
--
DROP TABLE IF EXISTS `wb_mod_employees`;
CREATE TABLE IF NOT EXISTS `wb_mod_employees` (
`emp_id` int(11) NOT NULL AUTO_INCREMENT,
`section_id` int(11) NOT NULL DEFAULT '0',
`page_id` int(11) NOT NULL DEFAULT '0',
`dep_id` int(11) NOT NULL DEFAULT '0',
...
`posted_by` int(11) NOT NULL DEFAULT '0',
`modified_when` int(11) NOT NULL DEFAULT '0',
`modified_by` int(11) NOT NULL DEFAULT '0',
`moderated` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`emp_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `wb_mod_employees_departments`
--
DROP TABLE IF EXISTS `wb_mod_employees_departments`;
CREATE TABLE IF NOT EXISTS `wb_mod_employees_departments` (
`dep_id` int(11) NOT NULL AUTO_INCREMENT,
`section_id` int(11) NOT NULL DEFAULT '0',
`page_id` int(11) NOT NULL DEFAULT '0',
`active` int(11) NOT NULL DEFAULT '0',
`position` int(11) NOT NULL DEFAULT '0',
`department` varchar(150) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
PRIMARY KEY (`dep_id`),
UNIQUE KEY `ident_news` (`section_id`,`department`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- Tabellenstruktur für Tabelle `wb_mod_employees_settings`
--
DROP TABLE IF EXISTS `wb_mod_employees_settings`;
CREATE TABLE IF NOT EXISTS `wb_mod_employees_settings` (
....
--- End code ---
und das hier macht SQL-DUMP-Konverter daraus (Achtung schwer zusehen):
--- Code: ---DROP TABLE IF EXISTS `{TABLE_PREFIX}mod_employees`;
CREATE TABLE IF NOT EXISTS `{TABLE_PREFIX}mod_employees` (
`emp_id` int(11) NOT NULL AUTO_INCREMENT,
`section_id` int(11) NOT NULL DEFAULT '0',
`page_id` int(11) NOT NULL DEFAULT '0',
`dep_id` int(11) NOT NULL DEFAULT '0',
....
`posted_by` int(11) NOT NULL DEFAULT '0',
`modified_when` int(11) NOT NULL DEFAULT '0',
`modified_by` int(11) NOT NULL DEFAULT '0',
`moderated` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`emp_id`)
){TABLE_ENGINE=MyISAM};
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `{TABLE_PREFIX}mod_employees`_departments`
--
DROP TABLE IF EXISTS `{TABLE_PREFIX}mod_employees`_departments`;
CREATE TABLE IF NOT EXISTS `{TABLE_PREFIX}mod_employees`_departments` (
`dep_id` int(11) NOT NULL AUTO_INCREMENT,
`section_id` int(11) NOT NULL DEFAULT '0',
`page_id` int(11) NOT NULL DEFAULT '0',
`active` int(11) NOT NULL DEFAULT '0',
`position` int(11) NOT NULL DEFAULT '0',
`department` varchar(150){FIELD_COLLATION} NOT NULL DEFAULT '',
PRIMARY KEY (`dep_id`),
UNIQUE KEY `ident_news` (`section_id`,`department`)
){TABLE_ENGINE=MyISAM};
-- --------------------------------------------------------
-- Tabellenstruktur für Tabelle `{TABLE_PREFIX}mod_employees`_settings`
--
DROP TABLE IF EXISTS `{TABLE_PREFIX}mod_employees`_settings`;
....
--- End code ---
es ist ein ' (Appostroph) an folgenden Stellen zuviel:
-- Tabellenstruktur für Tabelle `{TABLE_PREFIX}mod_employees`_departments` bzw. bei
-- Tabellenstruktur für Tabelle `{TABLE_PREFIX}mod_employees`_settings`
--
DROP TABLE IF EXISTS `{TABLE_PREFIX}mod_employees`_settings`;
Ich vermute das es am (von mir verwendeten) zweiten _ (underscore) liegt.
Danke und Gruß, Kuerbis42
kuerbis42:
Ergänzung:
Selbst wenn man diesen Fehler manuell behebt, dann springt einem die Modul-Installation nachträglich ins Gesicht.
Es kommen dann dubiose Meldungen bzgl. doppelter Spalten.
Funktionieren tut es, wenn man die Underscores rausnimmt.
BTW:
die unter https://wiki.WebsiteBaker.org/doku.php/dev/all/devtools/manual-sqlconvert beschriebenen Installation-Routinen (install.php/upgrade.php und uninstall.php (Codebeispiele) erzeugen die Ausnahme: SqlImport nicht gefunden
Systeminfo:
Webserver Software: Linux www 4.10.17-3-pve #1 SMP PVE 4.10.17-21 (Thu, 31 Aug 2017 14:57:17 +0200) x86_64
PHP-Erweiterung: mysqli Dokumentation curl Dokumentation mbstring Dokumentation
PHP-Version: 7.0.19-1
WebsiteBaker-Version: 2.12.0 -r81
Luisehahne:
Hallo,
ich werds überprüfen. Hoffe hat Zeit bis morgen.
Dietmar
jacobi22:
keine Ahnung, ob das Dingen überhaupt macht, was es soll. War der nicht mal für die 2.8.4 gedacht?
Ist aber in Handarbeit auch fix gemacht
Hier mal ein Beispielcode, wie es heute aussehen sollte (und da ist dein Ergebnis weit weg von
--- Code: ---DROP TABLE IF EXISTS `{TABLE_PREFIX}mod_beispiel_groups`;
CREATE TABLE IF NOT EXISTS `{TABLE_PREFIX}mod_beispiel_groups` (
`group_id` INT(11) NOT NULL AUTO_INCREMENT,
`section_id` INT(11) NOT NULL DEFAULT '0',
`group_name` VARCHAR(230){FIELD_COLLATION} NOT NULL DEFAULT '',
`group_desc` TEXT{FIELD_COLLATION} NOT NULL,
PRIMARY KEY (`group_id`)
){TABLE_ENGINE};
--- End code ---
DarkViper:
Das Problem mit dem 'überflüssigen' Backtick hatten wir schon einmal.
Werde ich wohl die Überarbeitung des Tools etwas vorziehen müssen... das steht eh schon auf der ToDo-Liste, da durch die Umstellung auf utf8mb4 die Verarbeitung der Charsets und Collations geändert werden muss.
Manuela
Navigation
[0] Message Index
Go to full version