Menü

Login

Aktuelle Version

Forum > Table prefix *

DOTLAN Intranet / Portal >> Feature Requests > Table prefix
Antwort erstellen
Autor Thema: Table prefix
DerMega
15.03.2006 um 10:10 QuoteProfileSend PM
NEW

Clan: Mitten aus Deutschland e.V.
Postings: 438

Megaaaaa
Ich hab das glaub ich shconmal angesprochen.
Ich räume grade unsere DB auf und da isses schwierig, zu unterscheiden, was von uns war und was jetzt dotlan ist.
Wärs nicht möglich in einem der nächsten releases einzustellen, dass man Tableprefixes einstellen kann?
 
Griffon
15.03.2006 um 10:34 QuoteProfileSend PM

NEW

Clan: dotlan.net
Postings: 1252

Wenn du 50.000 Zeilen korriegieren willst? Derzeit ist das nicht geplant.
 
DerMega
15.03.2006 um 11:29 QuoteProfileSend PM
NEW

Clan: Mitten aus Deutschland e.V.
Postings: 438

Megaaaaa
ja dann gib mal ha den Code dann mach ich das
Ja sicher kann mir vorstellen, dass das nen haufen Zeug iss.

Mein zweiter Vorschlag wäre noch die Umstellung auf Smarty
das würde viel vereinfachen.
Da hätt ich sogar Bock dran mit zu arbeiten!!
 
kritzi
15.03.2006 um 13:39 QuoteProfileSend PM
NEW

Clan: CCA
Postings: 58

genau für solche sachen habe ich bei meinem webspace provider mehrere datenbanken gefordert.

anfangs wunderte er sich warum ich so viel brauche, aber spätestens als ich das dotlan hoch geladen habe, war ich froh sie zu haben.

wobei ich sowieso wegen der übersicht keine 2 systeme auf die selbe db lege.

[Editiert von kritzi am 15.Mar.2006 um 13:39]
 
DerMega
15.03.2006 um 15:36 QuoteProfileSend PM
NEW

Clan: Mitten aus Deutschland e.V.
Postings: 438

Megaaaaa
ich hab ja nen eigenen Server da hab cih auch so viele wie ich will.
wär trotzdem hin und wieder ganz nett
 
Nick
16.03.2006 um 20:17 QuoteProfileSend PM
NEW

Clan: Kein Clan
Postings: 43

wie wärs mit ner kleinen ergänzung im abstraction layer?

du hast ja ne DB klasse, also erweiterst du die DB funktion um nen kleinen parser:

- alle tables kommen als namen nach den kennwörtern "FROM" oder "JOIN"
- mehrere table names werden durch kommata getrennt
- ein AS könnte drinn vorkommen

mehr musst nicht beachten. das ganze in ne kleine preg_replace funktion gießen müste eigentlich gut funktionieren. kostet zwar einiges an leistung bei jedem query, aber z.b. sowas hier könnte das beheben:

Code:
class database {
...
function query ($query) {
global $global;
if($global['db']['tableprefix']) $query=$this->add_table_prefix($query);
...
}
...
}


würde das nicht gehen?
 
Griffon
17.03.2006 um 02:38 QuoteProfileSend PM

NEW

Clan: dotlan.net
Postings: 1252

CZI: Auf die Idee in bin ich auch schon gekommen, sie ist mir allerdings zu unsicher. Da ich vermutlich auch Daten ändern könnte im Query die ich besser nicht hätte ändern sollen. Außerdem bei mehrfachen JOINs mit Tabellen umbenennungen (AS) wird das ganze ziemlich abartig das umzusetzen. Grade wenn man dann auf user.nick, article.id .... zugreift und das wiederum mit FROM tabelle AS user ..... gepaart sein könnte nehme ich ganz ganz ganz weit abstand.

Wie gesagt. Solche bastellösungen sind mir zu unsicher und instabil.
 
|NQ|Cyrus
17.03.2006 um 11:24 QuoteProfileSend PM
NEW

Clan: NetQuarter
Postings: 8

@Griffon: kann ich dir nur massiv davon abraten!!! Wenn du 'n gescheites abstraction Layer hast, d.h. so gut wie KEINE SQL Query in deim Quellcode steht und alles über die DB Klasse geregelt wird (wie z.B. PEAR DB_DataObjects oder so). Über den Sinn oder Unsinn einer solchen OO-Lösung wollen wir hier mal nicht reden und nachdem was du aber schreibst ist das eh nicht so

Ich habe auch schon ein komerzielles CMS in Eigenregie entwickelt, wo der Auftraggeber im Nachhinein ankam und dieses Feature noch ins Pflichtenheft haben wollte. Ich hatte dann zwar irgendwann einen gescheiten Algorithmus der mir das alles geparst hat, aber das erhöht den Aufwand des Scripts stark und ist ja auch nicht Sinn der Sache!! Wenn du schon das SQL im Quellcode hast, dann würde ich dir ehr einen general Replace von table_name ~> ".CONST_PREFIX.".table_name für jeden Table empfehlen und dann die paar Sachen wos noch nicht passt von Hand ausbessern, das macht sicher weniger Probleme als eine dynamische Lösung!!!! Dirty, aber wenn man mal an diesem Punkt ist und du nicht alles neu machen willst, dann hilft halt nix und im zweifel gehts halt ein Step im SVN zurück
 
Metus
17.03.2006 um 15:39 QuoteProfileSend PM
NEW

Clan: Zocker Group Siegen e.V.
Postings: 244

Es ist doch auch wirklich nicht unbedingt von Nöten einen Prefix vor den Tabellen zu haben das man so ein Aufwand deswegen betreibt.
Die meisten Provider bieten eh mehrere DBs an, und wenn ich nur eine habe, würde ich auch mit Tabellen Prefixes nicht wesentlich mehr als ein CMS da reinballern.
 
[ Antwort erstellen ]