Seite 1 von 1
[solved] DB-Prefix in Plugin nutzen
Verfasst: Di 7. Jan 2014, 07:50
von rethus
wie nutze ich eigentlich das richtige DB-Prefix in einem Plugin.
Das DB-Prefix ist ja nicht zwingend "con_", da dies bei der Installation frei gewählt werden kann.
Das Plugin-DB-Prefix ist ja "default-PREFIX" + "pi_".
Nun würde mich interessieren:
- Sollte ich meine Tabelle bei $cfg["tab"] registrieren, wenn ja warum.
- Wie lese ich das default-PREFIX aus?
Re: DB-Prefix in Plugin nutzen
Verfasst: Di 7. Jan 2014, 15:38
von frederic.schneider_4fb
Guten Tag,
der Datenbanktabellen-Präfix setzt sich zusammen aus dem Inhalt von $cfg['sql']['sqlprefix'] und dem String "_pi". Standardmäßig lautet der Präfix:
con_pi. Um in einer Plugin-SQL-Datei (plugin_install.sql, plugin_uninstall.sql usw.) den Präfix ansprechen zu können, musst Du
!PREFIX! angeben. Der PluginManager lehnt im Übrigen SQL-Statements ab, die kein Vorkommen des Platzhalters
!PREFIX! haben. Beispiel:
Code: Alles auswählen
CREATE TABLE IF NOT EXISTS !PREFIX!_linkwhitelist (`url` varchar(255) NOT NULL default 0, `lastview` int(11) NOT NULL default 0, PRIMARY KEY (`url`))
Eine Datenbanktabelle kann folglich z. B. heißen:
con_pi_linkwhitelist. Du kannst, aber musst nicht die Datenbanktabelle im Array $cfg['tab'] registrieren. Optimalerweise nimmst Du die Registrierung bei Plugins in der
config.plugin.php-Datei vor. Beispiel:
Code: Alles auswählen
$cfg['tab']['whitelist'] = $cfg['sql']['sqlprefix'] . '_pi_linkwhitelist';
Re: DB-Prefix in Plugin nutzen
Verfasst: Mi 8. Jan 2014, 12:33
von rethus
Danke, genau das hab ich gesucht: $cfg['sql']['sqlprefix']