Datentyp für Währung bei Lazarus

Guten Abend,

ich bin dabei eine Anwendung mit Lazarus und ZEOS zu erstellen, die auf eine PG-Datenbank zugreift.
In der DB habe ich in einer Tabelle ein Feld mit Währung. Dafür habe ich den Datentyp “money” verwendet. Im Datenbank-Gitter von Lazarus wird mir allerdings nur 0,00 € angezeigt, obwohl 15.000 € eingegeben wurden.

Kennt sich jemand mit den ZEOS-Komponenten, Lazarus und PG aus? Was muß ich einstellen bzw. was mache ich falsch?

Nachgelesen hatte ich in einer älteren Versions-Doku (8.-irgendwas…) unter Kapitel “8.2 Datentypen”, dass “money” veraltet sei und man numeric oder decimal (wobei decimal ein Alias für numeric ist?) nehmen solle. In de aktuellen Doku habe ich das nicht gefunden, also “money”…

Jetzt wollte ich mit “Alter Table” in Kombination mit “Alter Column” den Datentyp der Spalte mal auf numeric(18,2) ändern, da kommt die Meldung, dass die Spalte in weiteren view’s genutzt wird.
Kann man so einen ALTER-Befehl nicht kaskadierend anwenden? Muß man wirklich alle views löschen und nach dem Ändern der Tabelle neu erzeugen? Es ist bei mir überschaubar und man kann ja jeden view als SQL-Datei speichern, aber bei großen DB’s ist sowas doch lästig…

Ich bin momentan auf Manjaro Linux unterwegs.

Hat jemand Erklärungen für meine Fragen?

Noch einen schönen Abend, vielen Dank und viele Grüße

PGThustra

Ja, leider.

Nicht “kann” - muss

All SQL Skripte zur Erstellung (und Anpassungen) der Datenbank sind Code der genauso behandelt werden muss wie der sonstige Programmcode. Sinnvollerweise auch in Git versioniert.

Der erste Schritt aller meiner Migrationsskripten ist immer alle VIEWs zu droppen (egal ob notwendig oder nicht). Und der letzte Schritt ist dann wieder alle Views anzulegen. Dann muss ich mir nie Gedanken darüber machen ob eine Tabellenänderung jetzt ein Problem mit einer View verursacht oder nicht.

1 „Gefällt mir“

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.