Zum Inhalt springen

SQL Sortierung nach Zahl

Erstellt am 6. Januar 2009 · 14 Antworten · letzte Antwort am 9. Januar 2009

Tags: Frage

ÁndreMansfeld ·

Der Threat ist zwar gelöst, aber vielleicht kann mir jemand noch sagen, wie ich es jetzt unterbinden kann, dass die Extension beim Aufrufen im Extensionmanager immer wieder das Feld auf tinytext updaten möchte (UPDATE NEEDED) o.O .
Solange ich das nicht anklicke funktionierts ja, aber sicherer wäre es wenn diese Meldung garnicht erst erscheinen würde, sonst zerhauts mir ja die FE Ausgabe, wenn da mal aus versehen draufgeklickt wird.
Hab ja das ja in der ext_tables.sql händisch geändert. Kann ich das in einer anderen Datei der Extension noch fixieren?

Lieben Gruß Andreas

froemken ·

Vielleicht hilft Dir schin ein EM_CONF-File Update.

Extension-Manager -> Ext auswählen -> DropDown "Backup/Delete -> Update EM-CONF-File

ÁndreMansfeld ·

Danke!, aber das hatte ich schon probiert. Das hilft leider nichts.
Die Meldung bleibt. Hatte das auch schon gesehen und mich dazu entschlossen 😉 .
Die Meldung wird ja durch einen Vergleich zweier Dateien erzeugt(denke ich).
Die Eine ist der jetzige Stand und die Andere ???? (keine Ahnung, habe schon alle mit EDIT aufgemacht, aber nichts Vergleichbares gefunden).
Mal schauen, ob noch ne andere Variante gepostet wird.

Danke trotzdem

Lieben Gruß

Andreas

froemken ·

Oh...lese jetzt erst, dass du den Eintrag händisch gemacht hast. Solche Änderungen mache ich nur noch über den Kickstarter, weil solche Änderungen mehrere Dateien betreffen.
String-Felder heißen "input" aber ich weiß nicht wie INT-Felder von TYPO3 bezeichnet werden, denn deine Änderung musst du auch noch in der tca.php vornehmen.

Z.B.
"type" => "input",

nach

"type" => "int",

ÁndreMansfeld ·

😃 , nein ich habe sie in der ext.tables.sql gemacht, aber ich probiere mal das mit der ext.tables.php. Vielleicht klappts ja!

Danke Andreas

froemken ·

Ähm...habe ich einen Knick in der Birne? Warum ext.tables.php? Ich denke die TCA (tca.php) ist dafür da, um herauszufinden, ob Datenbankeinträge verändert bzw. angepasst werden müssen?!?!
Es ist ja auch die TCA, die beim COMPARE beim DB-Check genommen wird, also muss die tca.php doch angepasst werden?!

Klär mich mal auf...

ÁndreMansfeld ·

OK, sorry :-),
wie du richtig geschrieben hast... gibts im TCA das "type" => "input" .
Das gibts aber auch in der ext.tables.php. Also ich meinte. Ich werde es sozusagen, überall mal probieren. Zuerst geändert (und zeigt Wirkung) habe ichs in der ext.tables.sql, wie mir digedag geraten hat. Wahrscheinlich zusätzlich sollte ichs in der tca.php und/oder ext.tables.sql noch anpassen.
Möchte aber vorher sicherheitshalber noch ein paar Backups machen :p

Andreas

digedag ·

Also: Der EM liest nur die Datei ext_tables.sql. Dort steht alles drin, was für die DB notwendig ist. Wenn er hier meckert und den UPDATE immer wieder machen will, dann scheint er Probleme bei der Umstellung zu haben. Ggf. steht in einem Datensatz in dem Feld vielleicht ein Wert, der nicht in eine Zahl umgewandelt werden kann. Hier am besten mal mit dem phpMyAdmin die Tabelle anschauen.
Bei der Gelegenheit kann man dort auch direkt die Umstellung machen. Spalte bearbeiten und neuen Typ festlegen (INT 11). Wenn die Beschreibung in der ext_table.sql und der Typ in der DB gleich sind, dann meckert der EM auch nicht mehr! 🙂
Ein Problem besteht auch häufig bei den Default-Werten. Da ist der EM sehr pingelig. Es muss halt immer int(11) DEFAULT '0' NOT NULL heissen.

Die Daten in der ext_table.php und tca.php interessieren den EM nicht! Da meckert dann die TCE, wenn es Unstimmigkeiten mit dem entsprechenden Datenbankfeld gibt.
Hier ist bei der Umstellung eigentlich nur eine kleine Änderung notwendig. Man kann jetzt auf einen int-Wert validieren lassen:

'config' => Array (
  'type' => 'input',
  'size' => '4',
  'max' => '4',
  'eval' => 'int',
)

Das Feld bleibt allerdings vom Typ input! Die Änderung erfolgt nur in der tca.php. Grob kann man sich merken, daß die ext_table.php die vorhandenen Tabellen in TYPO3 bekannt macht. Die tca.php beschreibt dann die einzelnen Spalten.

Ich hoffe, damit sind die Unklarheiten beseitigt! 🙂

ÁndreMansfeld ·

Hallo digedag,
auch von mir ein herzliches Dankeschön.

Trotz aller Bücher und Foren und weiss der Teufel noch alles, fehlen sehr oft genau solche Angaben wie die von dir.

Ich habe das Typo3 Handbuch für Entwickler und noch weitere nette Lektüren, aber so eine Gesamtübersicht, wie alles zusammenhängt, können die nicht liefern.
Genau deswegen stolpere ich ja so oft über Kleinigkeiten, weil eben sehr viele Wege funktionieren, aber jede Anwendung auch seine eigenen Gesetze hat.
Kaum hat man eine Lösung, da tut sich ein neues Problem auf.
Es werden zwar immer (und dafür bin ich sehr DANKBAR) Lösungen gepostet oder Wege vermittelt. Aber deswegen weiss man als "Neuling in PHP/SQL" ja immer noch nicht warum 😃 . Ich versuche mein Bestes, um zu lernen und auch die Zusammenhänge zu erkennen, aber dafür brauche ich halt noch ein bisserl mehr Zeit.
Auf jeden Fall hast du mir jetzt schon 2 x sehr erfolgreich helfen können.....
DANKE!

Lieben Gruß
Andreas