Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wartung (https://www.delphipraxis.net/112815-wartung.html)

Morphie 27. Apr 2008 20:54

Datenbank: MySQL • Version: 5 • Zugriff über: ZeosLib

Wartung
 
Nabend erstmal :-D

bin schon relativ lange am Suchen, hab aber bis jetzt nichts anständiges gefunden...

Ich schreibe ein ziemlich umfangreiches Programm, welches eine MySQL-Datenbank benutzt. Hierbei kann es vorkommen, dass ich bei individualprogrammierungen Datenbankfelder neu erstellen / löschen / ändern muss, z.B. notnull oder autoinc oder so...

Diese "Wartung", also eine automatische Datenbank prüfung soll dann bei jedem Softwareupdate durchgeführt werden. Ich habe mir das so vorgestellt, dass ich eventuell bei jedem Update eine Referenzdatei mitliefere, in der die ganzen Felderinformationen stehen.

Wie würdet ihr sowas am Besten lösen? Die Prüfung soll schnell gehen, es kann aber sein, dass ich einige Hundert Tabellen mit zig Feldern erstellen muss.
Natürlich sollen auch Schlüsselinformationen (Primärschlüssel, Fremdschlüssel,..) gewartet werden.

Oder gibt es da auch schon irgendwelche Fertiglösungen für?

Vielen Dank schonmal
Morphie

mkinzler 27. Apr 2008 20:56

Re: Wartung
 
Man könnte auch eine datenbankinterne Versionierung einführen, also die Version ablegen. Manche Software kopiert beim Update eine neue leere Datenbank und kopiert dann den Inhalt der alten in die neue.

Morphie 27. Apr 2008 20:59

Re: Wartung
 
Naja, da kommen schon einige Gigabyte an Daten zusammen, das würde dann ja recht lang dauern, oder?

mkinzler 27. Apr 2008 21:01

Re: Wartung
 
Wenn nur Felder hinzukommen, wäre das natürlich Overkill.

Morphie 28. Apr 2008 07:41

Re: Wartung
 
Kann wie gesagt auch sein, dass nur ein Primärschlüssel neu gesetzt werden muss oder so...
Die ganze Datenbank dann umzulagern wär hierbei wohl nicht die beste Lösung...

mkinzler 28. Apr 2008 07:43

Re: Wartung
 
Doch beim Ändern des PK würde ich zur Sicherheit so machen.
BTW. Man sollte an den tabellenbeziehungen/Primärschlüsseln nachträglich so wenig wie möglich ändern.

Morphie 28. Apr 2008 07:45

Re: Wartung
 
Stimmt schon, habe das gleiche System zur Zeit aber schon mit den grottigen MDB-JET-"Datenbanken", und während der Arbeit ist aufgefallen, dass bei einigen Änderungen auch die PKs erweiter werden müssen. Schließ ich deshalb nicht aus.

mkinzler 28. Apr 2008 07:47

Re: Wartung
 
Stell die PKs auf künstliche Schlüssel um, dann hast du das problem nicht mehr.

franktron 28. Apr 2008 08:08

Re: Wartung
 
Also ich mach das so.

Ich hab ein SQL Parser geschrieben der vergleicht dann die SQL vom Server mit einer SQL Dateien und was nicht gleicht wird verarbeitet.

Morphie 1. Mai 2008 15:44

Re: Wartung
 
Hab mir nun nochmal Gedanken gemacht... Wäre es vielleicht möglich, die Struktur im "information_schema"-Katalog einfach zu überschreiben? Dort stehen ja die ganzen Informationen drin...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz