例 1: AddAction
テーブルにフィールドを追加するパッチファイルを作成するには:
-
カスタム Appの v1 (MyApp-v1.fmp12) を閉じ、
--generateGUIDs
サブコマンドを使用して「MyApp-v1.fmp12」をソースファイルとして Upgrade Tool を実行します。 -
「MyApp-v1.fmp12」を XML として保存して「MyApp-v1.xml」という名前をつけます。
-
「MyApp-v1.fmp12」のコピーを作成して「MyApp-v2.fmp12」という名前をつけます。
-
「MyApp-v2.fmp12」のテーブルにフィールドを追加します。
-
「MyApp-v2.fmp12」を閉じ、
--generateGUIDs
サブコマンドを使用して「MyApp-v2.fmp12」をソースファイルとして Upgrade Tool を実行します。 -
「MyApp-v2.fmp12」を XML として保存して「MyApp-v2.xml」という名前をつけます。
-
「MyApp-v1.xml」(左側) と「MyApp-v2.xml」(右側) の対応するセクションを比較します。
「MyApp-v1.xml」と「MyApp-v2.xml」の主な変更点は FieldsForTables/FieldCatalog/ObjectList 要素に Field 要素が追加されたことです。
次の重要な UUID 要素または属性にも注意してください:
-
FieldCatalog 要素内の UUID 要素は 259F1142 で始まっています (51 行目)。
-
BaseTableReference 要素内の UUID 属性は 55E236DE で始まっています (53 行目)。
-
Field 要素内の UUID 要素は A4D643A5 で始まっています (114 行目)。
-
-
この変更を適用するプレーンテキストのパッチファイル (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> -