例 1: AddAction

テーブルにフィールドを追加するパッチファイルを作成するには:

  1. カスタム Appの v1 (MyApp-v1.fmp12) を閉じ、--generateGUIDs サブコマンドを使用して「MyApp-v1.fmp12」をソースファイルとして Upgrade Tool を実行します。

  2. 「MyApp-v1.fmp12」を XML として保存して「MyApp-v1.xml」という名前をつけます。

  3. 「MyApp-v1.fmp12」のコピーを作成して「MyApp-v2.fmp12」という名前をつけます。

  4. 「MyApp-v2.fmp12」のテーブルにフィールドを追加します。

  5. 「MyApp-v2.fmp12」を閉じ、--generateGUIDs サブコマンドを使用して「MyApp-v2.fmp12」をソースファイルとして Upgrade Tool を実行します。

  6. 「MyApp-v2.fmp12」を XML として保存して「MyApp-v2.xml」という名前をつけます。

  7. 「MyApp-v1.xml」(左側) と「MyApp-v2.xml」(右側) の対応するセクションを比較します。

    フィールドを追加して FMSaveAsXML ファイルの v1 と v2 を比較

    「MyApp-v1.xml」と「MyApp-v2.xml」の主な変更点は FieldsForTables/FieldCatalog/ObjectList 要素に Field 要素が追加されたことです。

    次の重要な UUID 要素または属性にも注意してください:

    • FieldCatalog 要素内の UUID 要素は 259F1142 で始まっています (51 行目)。

    • BaseTableReference 要素内の UUID 属性は 55E236DE で始まっています (53 行目)。

    • Field 要素内の UUID 要素は A4D643A5 で始まっています (114 行目)。

  8. この変更を適用するプレーンテキストのパッチファイル (v1-v2-patch.xml) を作成します。「パッチファイルについて」に記載されている最上位の構造を使用します。Structure 要素内で:

    • AddAction 要素を追加します。

    • v2 の FMSaveAsXML ファイルの UUID 要素または属性を使用して、AddAction 要素内に ObjectList 要素まで構造を再作成します。

    • ObjectList 内に新しいフィールドの Field 要素を追加します。v2 の FMSaveAsXML ファイルのすべての属性と子要素を含めることができますが、name とdatatype 属性を必ず含める必要があります。将来のアップグレードで、必要に応じてこの UUID でこのフィールドを参照できるように、UUID 要素を必ず含めてください。

    コピー
    <?xml version="1.0"?>
    <FMUpgradeToolPatch version="2.2.2.0">
      <Structure>
        <AddAction> 
          <FieldsForTables membercount="1">
            <FieldCatalog>
              <UUID>259F1142-60DE-4918-A0F1-526C7F71DB29</UUID>
              <TagList></TagList>
              <BaseTableReference id="129" name="Table" UUID="55E236DE-EA40-4A3D-99FD-E3F2FFF86E88">
              </BaseTableReference>
              <ObjectList membercount="6">
                <Field DefaultStyle="" id="6" name="メモ" fieldtype="Normal" datatype="Text" comment="">
                  <UUID>A4D643A5-E5E7-406C-80AD-8506FBDA0F97</UUID>
                  <TagList></TagList>
                </Field>
              </ObjectList>
            </FieldCatalog>
          </FieldsForTables>
        </AddAction>
      </Structure>
    </FMUpgradeToolPatch>