Frage

Hat jemand versucht, einschließlich SichtFoxpro Datenbanken (Version 7) in SVN? Was waren die Vorteile / Nachteile einschließlich es? Was ist der beste Ansatz VFP Db in SCM zu behandeln, wenn es Zeilen, die in der Quellcodeverwaltung enthalten sein muss?

Keine korrekte Lösung

Andere Tipps

Christof Wollenhaupt hat ein Tool „TwoFox“ genannt, die eine gute Arbeit leistet DBCs und andere Fox-Quelldateien in XML konvertieren - der Artikel beschreibt, es ist http://www.foxpert.com/docs/cvs.en.htm . Wenn Sie gerade fragen, über die DBF-Dateien in SVN fallen, obwohl, können Sie sie als Binär-Dateien importieren, und verlieren die Fähigkeit zu vergleichen / fusionieren zwischen den Versionen, oder verwenden Sie CURSORTOXML (das war in 7, nicht wahr?) die DBFs in XML zu konvertieren, bevor sie in.

Überprüfung

Während ich habe SVN nicht verwendet, ich habe VFP verwendet, um sowohl mit VSS und Vault. Mit diesen beiden, füge ich Dateien manuell zu Quellcodeverwaltung, anstatt zu versuchen, irgendeine Form der Integration innerhalb der Dev-Umgebung zu verwenden.

Es gibt grundsätzlich zwei Möglichkeiten, man könnte diesen Ansatz:

  1. Just manuell fügen Sie den DBC, .DCT, .DCX und alle von der DBF, .FPT und CDX
  2. Schreiben Sie ein Skript aus der Datenbank, die Struktur zu erstellen (I eine modifizierte Version von GenDBCX verwenden) und Skripterstellung aller Datensätze, die Sie auf ein Programm oder eine Klasse erhalten wollen.

Mein Setup:



  • Debian auf einer P4-Workstation ausgeführt wird:
    • Subverison über Apache2
    • Trac mit Haken in Subversion
    • regelmäßige nächtliche Backups sowohl Subversion und Trac-Datenbank

Ehrlich gesagt, ich überprüfe nicht in den Multi-Megabyte-Datenbanken, die wir haben, weil das Repository über 20+ Gbyte Größe von dieser allein aufblasen würde. Wir haben regelmäßig 1.6GB Tabellen (und ihre Notizen und Indizes) und es ist einfach nicht wert, die Stunden für eine vertane warten 1 Stunde-plus auf 20Gbytes der Tabelle Änderungen. Stattdessen klonen wir die Daten aus unserem Produktionssystem und das nutzen, um Dinge auf „aktualisieren“, und unseren Datenbank-Container wieder aufzubauen frische Links zu den Tabellen zu haben. Der „Refresh“ -Verfahren erfolgt einmal im Monat und nimmt viel weniger Zeit, in der Regel 40 Minuten; Vergleichen Sie dies mit verschwenden Stunden jeden Tag .

Ich habe keine Notwendigkeit zu prüfen, in Daten in das Repository, auch einmal hatte. Schemaverwaltung hat durch Anschluss an eine einzige Regel für vorerst vereinfacht worden: nur Daten aktualisieren, nachdem alle Patches für die Produktion haben dazu geführt in der Produktion gedrängt worden, die das Schema für beiden Umgebungen impliziert wird konsistent sein. Vorerst kann ich damit durchkommen, obwohl das in der Zukunft ändern muß ...

Wenn Sie brauchen nur Schemaänderungen

Wenn Sie feststellen, dass Sie in den Tabellen zu überprüfen benötigen, sind, weil Sie zu erfassen versuchen, ihre Schema nicht unbedingt die Daten die sie enthalten, möchten Sie vielleicht sehen Schreiben ein kleines Tool, das das Schema in eine Textdatei pumpt und dass an dem Repo-commiting, sondern die Küche des Versendens. verdaut werden sinkt ab

Wenn Sie unbedingt brauchen in Daten zu überprüfen

Wenn es Daten in den Tabellen, die zur Kontrolle des Programmablaufes kritisch ist (Daten-as-Code und nicht nur Daten der durch das Programm verarbeitet wird), können Sie Ihre Daten auf das absolute Minimum betrachten Trimmen erforderlich und die Überprüfung in nur die resultierenden Stub Tabellen , indem sie manuell in den Repo-Zugabe. Während Subversion binäre Objekte behandelt, sollen Sie dies auf eine minimale Größe halten und sie zu verpflichten, sie so wenig wie möglich, so dass Ihr Repo nicht nach unten biegt. Seien Sie sicher, dass Sie in den einzelnen Tabellen überprüfen Sie nach, und nicht nur alle * DBF, oder Sie können in einem bösen Schock sein, wenn jemand anderes mehr Gigabyte an Daten in Ihre Repo zu schieben versucht, weil die Arbeitskopie nicht den Fall ist maskiert alle Tabellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top