1

Visual Foxpro データベース (ver 7) を SVN に含めようとした人はいますか? それを含めることの利点/欠点は何でしたか? ソース管理に含める必要がある行がある場合、SCM で VFP Db を処理するための最良の方法は何ですか?

4

3 に答える 3

4

Christof Wollenhaupt は、DBC やその他の Fox ソース ファイルを XML に適切に変換する "TwoFox" というツールを持っています。ただし、DBF ファイルを SVN にドロップすることについて質問している場合は、それらをバイナリ ファイルとしてインポートし、バージョン間で比較/マージする機能を失うか、CURSORTOXML を使用することができます (それは 7 でしたよね?) DBF をチェックインする前に XML に変換します。

于 2009-08-06T14:41:24.037 に答える
2

私は SVN を使用していませんが、VSS と Vault の両方で VFP を使用しています。これらの両方を使用して、開発環境内で何らかの形式の統合を使用しようとするのではなく、手動でソース管理にファイルを追加します。

これには基本的に 2 つの方法があります。

  1. .DBC、.DCT、.DCX、および.DBF、.FPT、.CDX のすべてを手動で追加するだけです。
  2. データベースからスクリプトを作成して構造を作成し (私は修正版の GenDBCX を使用します)、プログラムまたはクラスで保持するデータ レコードの作成をスクリプト化します。
于 2009-08-06T09:10:41.360 に答える
1

私のセットアップ:



  • 以下を実行する P4 ワークステーション上の Debian:
    • Apache2 経由のサブバージョン
    • Subversion へのフックを使用して追跡する
    • Subversion と Trac データベースの定期的な夜間バックアップ

率直に言って、私たちが持っている数メガバイトのデータベースはチェックインしません。なぜなら、リポジトリだけでサイズが約 20 ギガバイト以上に膨れ上がるからです。私たちは定期的に 1.6Gb のテーブル (およびそれらのメモとインデックス) を持っていますが、20G バイトのテーブル変更で 1 時間以上のコミットを待つのに何時間も費やす価値はありません。代わりに、本番システムからデータを複製し、それを使用して物事を「更新」し、データベース コンテナーを再構築して、テーブルへの新しいリンクを作成します。「更新」プロセスは月に 1 回程度行われ、所要時間は通常 40 分とはるかに短くなります。これは、毎日時間を無駄にすることとは対照的です。

リポジトリにデータをチェックインする必要は一度もありませんでした。スキーマ管理は、当面は単一のルールに従うことで簡素化されました。本番用のすべてのパッチが本番環境にプッシュされた後にのみデータを更新します。これは、両方の環境のスキーマが一貫していることを意味します。今のところ、これで問題ありませんが、将来的には変更する必要があります...

スキーマの変更のみが必要な場合

テーブルに含まれるデータではなく、スキーマをキャプチャしようとしているためにテーブルをチェックインする必要があることがわかった場合は、スキーマをテキスト ファイルに送り出す小さなツールを作成し、それを消化するために台所の流しを出荷する代わりに、レポ。

どうしてもデータをチェックインする必要がある場合

プログラム フローを制御する上で重要なデータ (プログラムによって処理されるデータだけでなく、コードとしてのデータ) がテーブルにある場合は、データを必要最小限にトリミングし、結果のみをチェックインすることを検討してください。スタブ テーブルをレポに手動で追加します。Subversion はバイナリ オブジェクトを処理しますが、これらを最小サイズに保ち、コミットをできるだけ少なくして、レポジトリが行き詰まらないようにする必要があります。すべての *.dbf だけでなく、目的の個々のテーブルを必ずチェックインしてください。そうしないと、作業コピーが存在しないため、他の誰かが数ギガバイトのデータをリポジトリにプッシュしようとしたときに、失礼なショックを受ける可能性があります。すべてのテーブルをマスクします。

于 2010-01-28T18:50:18.330 に答える