集中型バージョン管理システムを操作するステートメント¶
このセクションでは、Virtual DataPort でサポートされている、集中型バージョン管理システム (Subversion と Microsoft TFS のリポジトリ) との連携に必要なコマンドについて説明します。
注釈
VCS 関連のコマンドは、Administration Tool と Design Studio で使用するために設計されたコマンドであるため、手動または CI および CD プロセスで使用することはお勧めしません。
Denodo データベースの VCS 構成をプログラムで変更する場合は、「 Virtual DataPort データベースの作成と変更 」を参照してください。
VCSCOMMIT¶
VCSCOMMIT
は、指定したエレメントを (依存関係とともに) 構成済みのバージョン管理リポジトリにチェックインします。エレメントがすでに存在する場合、このコマンドはエレメントのローカルでの変更 (およびそのエレメントの依存関係の変更) をコミットします。
VCSCOMMIT [ DBELEMENTS ] <element-path:literal> [ SIMULATE ]
VCSCOMMIT NOCONFLICTS [ DBELEMENTS ] <element-path:literal> SIMULATE
VCSCOMMIT [ DBELEMENTS ] <element-path:literal> [ FORCE ]
[ LOGMESSAGE <log-message:literal> ]
VCSCOMMIT NOCONFLICTS [ DBELEMENTS ] <element-path:literal>
[ LOGMESSAGE <log-message:literal> ]
エレメントのパスの指定は必須です。このパスで、データベース、フォルダ、または単一のエレメントを参照することができます。パスの構文は以下のとおりです。
データベース:
/databases/<databaseName>
、たとえば、/databases/db1
。フォルダ (
/
で終わる必要があることに注意):/databases/<databaseName>/folder.<folderName1>/[folder.folderNameN/]*
。たとえば、/databases/db1/folder.Folder 1/folder.Folder 2/
。単一エレメント:
/databases/<databaseName>/[folder.folderNameN/]*<elementType>/[elementSubType/]<elementName>
。たとえば、/databases/db1/folder.Folder 1/views/My Base View
。可能なエレメントタイプ:
views
(ビューと基本ビュー用)、datasources
、associations
、webservices
、widgets
、storedprocedures
、およびlisteners
。可能なエレメントサブタイプ (データソースの場合のみ):
custom
、df
、itp jdbc
、json
、ldap
、odbc
、olap
、saperp
、ws
、およびxml
。Jars と i18n マップは特殊なケースであり、次に示すように、パスの構文が異なります。
Jars:
/extensions/jars/<jarName>
I18n maps:
/maps/i18n/<mapName>
データベースやフォルダをチェックインすると、それらのコンテンツとコンテンツの依存関係がすべてチェックインあるいはコミットされます (データベースの場合は、関連する JMS リスナーも含まれます)。
DBELEMENTS
句は、データベースに属するエレメントだけをコミットしてすべてのデータベースに共通のエレメント (たとえば、i18n マップや jar) はコミットしないよう指示します。
オプションのログメッセージは、 LOGMESSAGE
句で指定できます。
NOCOMMIT
句は、競合の検出を無効にします。このステートメントのパフォーマンスを向上させるには、この句を追加します。ただし、競合があると操作が失敗します。その場合は、 FORCE
句を使用してステートメントを再度実行する必要があります。
競合が検出されるとチェックイン操作は失敗します。その場合、 VCSCOMMIT
は、競合しているエレメント (つまり、最新ではない、ローカルでの変更を含むエレメント) のリストを返します。 FORCE
句を使用して、リモートでの変更をローカルでの変更でオーバーライドすることで、競合が解決されます。
また、 SIMULATE
句を使用すると、コマンドによりリモートのリポジトリで実際に変更が試みられることはありませんが、実際にコマンドを実行した場合に発生する競合とチェックインされるファイルについてユーザーに通知されます。
VCSUPDATE¶
VCSUPDATE
は、指定したエレメントを (依存関係、およびフォルダやデータベースの場合はそのコンテンツとともに) 構成済みのバージョン管理リポジトリからチェックアウトし、サーバーにロードします。エレメントがすでに存在する場合、このコマンドはエレメントと依存関係を更新します。
VCSUPDATE [ DBELEMENTS ] <element path:literal> [ FORCE ]
[ REVISION <revision:literal> ] [ WITH DROPS ]
VCSUPDATE [ NOCONFLICTS ] [ DBELEMENTS ] <element path:literal> [ FORCE ]
[ REVISION <revision:literal> ]
データベース、フォルダ、または単一のエレメントのパスは必ず指定しなければなりません (パスの構文については「 VCSCOMMIT 」を参照)。データベースの場合は、関連する JMS リスナーが必要に応じてチェックアウトまたは更新されます。
DBELEMENTS
句は、データベースに属するエレメントだけを更新してすべてのデータベースに共通のエレメント (たとえば、i18n マップや jar) は更新しないよう指示します。
リビジョンは、 REVISION
句を使用して指定できます (「 REVISIONS 」を参照)。
NOCOMMIT
句は、競合の検出を無効にします。このステートメントのパフォーマンスを向上させるには、この句を追加します。ただし、競合があると操作が失敗します。その場合は、 FORCE
句を使用してステートメントを再度実行する必要があります。
競合が検出されるとチェックアウト操作は失敗します。その場合、 VCSUPDATE
は、競合しているエレメント (つまり、最新ではない、ローカルでの変更を含むエレメント) のリストを返します。 FORCE
句を使用して、リモートでの変更をローカルでの変更でオーバーライドすることで、競合が解決されます。
操作を完了させるためにエレメントを削除する必要があることが判明した場合も、チェックアウト操作は失敗します。その場合、 VCSUPDATE
は、削除する必要があるエレメント (例: 指定したリビジョンに存在しないエレメント) のリストを返します。 FORCE
句と WITH DROPS
句の両方を使用すると、必要に応じてエレメントが削除されます。
VCSCONTENTS¶
VCSCONTENTS
は、構成済みのバージョン管理リポジトリのデータベースやフォルダに含まれるエレメントや実際のファイルを返します。このコマンドは、リポジトリに含まれるデータベースのリストの取得にも使用できます。
VCSCONTENTS { <element path:literal> [ FILES ] | LIST DATABASES }
データベースまたはフォルダに含まれるエレメントのリストを取得するには、それらのパスを指定する必要があります (パスの構文については「 VCSCOMMIT 」を参照)。 FILES
句を使用することで、VDP エレメントの代わりに実際のファイルのリストが表示されます。
VCSCONTENTS LIST DATABASES
は、リポジトリに含まれるデータベースのリストを格納します。
VCSSHOW¶
VCSSHOW
は、ローカルエレメントの VQL、および VCS サーバーに格納された同じエレメントの VQL を返します。このコマンドは、バージョン管理されているエレメントに対してのみ有効です。
VCSSHOW <path:literal> [ REVISION <revision:literal> ]
[ WITH_DEPENDENCIES ]
例:
VCSSHOW '/databases/customer360/views/p_view1' WITH_DEPENDENCIES
「 VCSCOMMIT 」のセクションは、 path
の構文について説明しています。
エレメントのリモートバージョンを取得するときは、 REVISION
句を使用して、リビジョンを指定できます (「 REVISIONS 」を参照)。
WITH_DEPENDENCIES
を追加すると、 VCSSHOW
でこのエレメントが依存するエレメントが返されます。