con_art_spec Tabelle: Spalte client => idClient?
con_art_spec Tabelle: Spalte client => idClient?
Eigentlich müsste doch aus Konsitenzgründen in der Tabelle cat_art_spec
(ab 4.5) die Spalte "client" zu idclient umbenannt werden, oder etwa nicht?
Schliesslich ist die Spalte definiert als Integer(10) und nicht als varchar(n)
--VORHER
CREATE TABLE contenido_dc110_art_spec (
idartspec int(10) NOT NULL default '0',
`client` int(10) NOT NULL default '0',
lang int(10) NOT NULL default '0',
artspec varchar(255) NOT NULL default '',
online tinyint(1) NOT NULL default '0',
artspecdefault tinyint(1) NOT NULL default '0',
PRIMARY KEY (idartspec),
KEY `client` (`client`),
KEY lang (lang)
)
--NACHHER ?
CREATE TABLE contenido_dc110_art_spec (
idartspec int(10) NOT NULL default '0',
idclient int(10) NOT NULL default '0',
lang int(10) NOT NULL default '0',
artspec varchar(255) NOT NULL default '',
online tinyint(1) NOT NULL default '0',
artspecdefault tinyint(1) NOT NULL default '0',
PRIMARY KEY (idartspec),
KEY `client` (`client`),
KEY lang (lang)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Und was bitte schön ist eigentlich eine Artikelspezifikation?
Gruss,
Knut
Knut
ach ja ...--NACHHER ?
CREATE TABLE contenido_dc110_art_spec (
idartspec int(10) NOT NULL default '0',
idclient int(10) NOT NULL default '0',
lang int(10) NOT NULL default '0',
artspec varchar(255) NOT NULL default '',
online tinyint(1) NOT NULL default '0',
artspecdefault tinyint(1) NOT NULL default '0',
PRIMARY KEY (idartspec),
KEY `client` (`client`),
KEY lang (lang)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
also natürlich gilt das auch für Spalte "lang":
lang int(10) NOT NULL default '0' => idlang int(10) NOT NULL default '0',
--NACHHER ?
CREATE TABLE contenido_dc110_art_spec (
idartspec int(10) NOT NULL default '0',
idclient int(10) NOT NULL default '0',
idlang int(10) NOT NULL default '0',
artspec varchar(255) NOT NULL default '',
online tinyint(1) NOT NULL default '0',
artspecdefault tinyint(1) NOT NULL default '0',
PRIMARY KEY (idartspec),
KEY idclient (idclient),
KEY idlang (idlang)
)
Gruss,
Knut
Knut
Also Spalten werden in Zukunft nicht mehr umbenannt, neue Tabellen ja .
... naja. Soll mir alles recht sein. Man muss es nur wissen.
Ich gehe also erstmal davon aus dass die Tabelle in Version 4.6 noch nicht von irgendwelchen Backendscripts benutzt wird.
Aber welche Artikel-Typen sind denn vorgesehen, beispielsweise?
... naja. Soll mir alles recht sein. Man muss es nur wissen.
Ich gehe also erstmal davon aus dass die Tabelle in Version 4.6 noch nicht von irgendwelchen Backendscripts benutzt wird.
Aber welche Artikel-Typen sind denn vorgesehen, beispielsweise?
Gruss,
Knut
Knut
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
Naja ein "gutes" Backupscript zieht alle Tabellen in einer Datenbank raus und backupt sie z.b. über SHOW TABLES.knb hat geschrieben:Also Spalten werden in Zukunft nicht mehr umbenannt, neue Tabellen ja .
... naja. Soll mir alles recht sein. Man muss es nur wissen.
Ich gehe also erstmal davon aus dass die Tabelle in Version 4.6 noch nicht von irgendwelchen Backendscripts benutzt wird.
Du kannst die Typen selbst unter Administration->Mandanten definieren und dann über die Artikeleigenschaften zuweisen.Aber welche Artikel-Typen sind denn vorgesehen, beispielsweise?
Ist nicht so wichtig, aber nicht, dass ihr aneinander vorbeiredet:
Gruß
HerrB
= Skripte von Contenido nutzen es oder nicht (wofür ist das wichtig, knb?)knb hat geschrieben:Backendscripts
= ist klar...timo hat geschrieben:Backupscript
Gruß
HerrB
Zuletzt geändert von HerrB am Do 27. Okt 2005, 13:31, insgesamt 1-mal geändert.
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
HerrB hat es schon richtig verstanden, ich meinte irgendein php script in $cfg['path']['contenido'] .
ich dachte dass man die Spalten durchaus umbenennen könnte solange die Tabelle noch nicht genutzt wird. Da noch keine "offiziellen" scripts darauf zugreifen, ist auch nicht zu erwarten dass contenido-user schon anwendungen geschrieben haben die auf die tabelle zugreifen.
aber ich hatte gestern noch nicht selbst nachgeschaut ob es nicht doch schon php code gibt der darauf zugreift. Jetzt aber habe ich nachgeschaut, und siehe da: art_spec wird genutzt,
Es scheint der Fall zu sein in
./classes/class.artspec.php
./classes/class.search.php
./includes/cfg_sql.inc.php
./includes/functions.general.php
./tools/upgrade.php
Wobei mir aufgefallen ist dass diese Funktion aus ./includes/functions.general.php
wohl einen Bug enthält :
function deleteArtspec ($idartspec)
{
global $db, $cfg;
$sql = "DELETE FROM ".$cfg['tab']['art_spec']." WHERE idartspec=".$idartspec."";
$db->query($sql);
$sql = "UPDATE ".$cfg["tab"]["art_lang"]." set artspecid=0 WHERE artspec=$idartspec";
$db->query($sql);
}
Das UPDATE statement kann in der SET Klausel nicht funktionieren denn eine Spalte artspecid gibt es nicht, in keiner Tabelle. in art_lang heisst sie artspec
Vielleicht ist es ja schon gefixt in v4.5.4 und höher ?
Bei näherer betrachtung gibt es anscheinend etliche integer(10) Spalten die in der referenzierenden Tabelle (wo das Attribut Foreign key ist) NICHT mit id* beginnen, aber in der referenzierten Tabelle (wo das Attribut Primary Key ist) id* heissen.
Ich nehme mal an dass es bei den meisten dieser Attribute auf die historische Entwicklung zurückzuführen ist.
Nur "client" sollte es wirklich nicht sein. Und "lang" auch nicht.
ich dachte dass man die Spalten durchaus umbenennen könnte solange die Tabelle noch nicht genutzt wird. Da noch keine "offiziellen" scripts darauf zugreifen, ist auch nicht zu erwarten dass contenido-user schon anwendungen geschrieben haben die auf die tabelle zugreifen.
aber ich hatte gestern noch nicht selbst nachgeschaut ob es nicht doch schon php code gibt der darauf zugreift. Jetzt aber habe ich nachgeschaut, und siehe da: art_spec wird genutzt,
Es scheint der Fall zu sein in
./classes/class.artspec.php
./classes/class.search.php
./includes/cfg_sql.inc.php
./includes/functions.general.php
./tools/upgrade.php
Wobei mir aufgefallen ist dass diese Funktion aus ./includes/functions.general.php
wohl einen Bug enthält :
function deleteArtspec ($idartspec)
{
global $db, $cfg;
$sql = "DELETE FROM ".$cfg['tab']['art_spec']." WHERE idartspec=".$idartspec."";
$db->query($sql);
$sql = "UPDATE ".$cfg["tab"]["art_lang"]." set artspecid=0 WHERE artspec=$idartspec";
$db->query($sql);
}
Das UPDATE statement kann in der SET Klausel nicht funktionieren denn eine Spalte artspecid gibt es nicht, in keiner Tabelle. in art_lang heisst sie artspec
Vielleicht ist es ja schon gefixt in v4.5.4 und höher ?
Bei näherer betrachtung gibt es anscheinend etliche integer(10) Spalten die in der referenzierenden Tabelle (wo das Attribut Foreign key ist) NICHT mit id* beginnen, aber in der referenzierten Tabelle (wo das Attribut Primary Key ist) id* heissen.
Ich nehme mal an dass es bei den meisten dieser Attribute auf die historische Entwicklung zurückzuführen ist.
Nur "client" sollte es wirklich nicht sein. Und "lang" auch nicht.
Gruss,
Knut
Knut
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
Naja das Problem ist immer:
Wird ein Feature eingebaut, so wird es meistens bei uns (four for business) in Projekten verwendet. Deshalb ist von unserer Seite ein Umbenennen nicht möglich, da es leider keine Möglichkeit gibt, in allen Projekten selbige Umbenennung zu machen.
Den Bug werde ich gleich fixen
Wird ein Feature eingebaut, so wird es meistens bei uns (four for business) in Projekten verwendet. Deshalb ist von unserer Seite ein Umbenennen nicht möglich, da es leider keine Möglichkeit gibt, in allen Projekten selbige Umbenennung zu machen.
Den Bug werde ich gleich fixen
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Also ich nutze die Funktion der Artikelspezifikationen durchaus schon in einigen Projekten.knb hat geschrieben:ich dachte dass man die Spalten durchaus umbenennen könnte solange die Tabelle noch nicht genutzt wird. Da noch keine "offiziellen" scripts darauf zugreifen, ist auch nicht zu erwarten dass contenido-user schon anwendungen geschrieben haben die auf die tabelle zugreifen.
Dieser Fehler ist noch drin:
muss
lauten.
Verschoben nach Bugs.
Gruß
HerrB
Code: Alles auswählen
$sql = "UPDATE ".$cfg["tab"]["art_lang"]." set artspecid=0 WHERE artspec=$idartspec";
Code: Alles auswählen
$sql = "UPDATE ".$cfg["tab"]["art_lang"]." set artspec=0 WHERE artspec=$idartspec";
Verschoben nach Bugs.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Done.
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net