add-dataverse
Dataverseテーブルをデータソースとして確認・管理し、Power Appsコードアプリに追加できます。自動生成されたTypeScriptモデルとサービスを利用して実装が可能です。また、新しいDataverseテーブルの作成にも対応しています。Dataverseとの接続、テーブルの追加、スキーマの設計、Dataverseデータのクエリが必要な場合に活用してください。
description の原文を見る
Adds Dataverse tables to a Power Apps code app with generated TypeScript models and services. Can also create new Dataverse tables. Use when connecting to Dataverse, adding tables, creating schema, or querying Dataverse data.
SKILL.md 本文
📋 共有手順: shared-instructions.md - 横断的関心事
参考資料:
- dataverse-reference.md - ピックリスト フィールド、仮想フィールド、ルックアップ、フォーム パターン (重要)
- api-authentication-reference.md - Dataverse API 認証、トークン、発行者プレフィックス
- table-management-reference.md - クエリ、テーブルとカラムの作成、拡張
- data-architecture-reference.md - リレーションシップタイプ、依存ティア
Dataverse の追加
2 つのパス: 既存テーブル (ステップ 5 へスキップ) または 新規テーブル (フル ワークフロー)
ワークフロー
- 計画 → 2. API 認証のセットアップ → 3. 既存テーブルの確認 → 4. テーブルの作成 → 5. データ ソースの追加 → 6. 生成されたファイルの確認 → 7. ビルド
ステップ 1: 計画
メモリ バンクでプロジェクト コンテキストを確認します。ユーザーに次の質問をします:
- どの Dataverse テーブルが必要ですか? (例:
account、contact、cr123_customentity) - テーブルは環境に既に存在していますか、それとも新規作成が必要ですか?
テーブルが既に存在する場合: ステップ 5 へスキップします。
新規テーブルを作成する場合:
- ユーザーが必要なデータについて質問し、適切なスキーマを設計します
- 必要に応じて標準 Dataverse テーブルを使用します (
contactは個人用、accountは組織用) - 依存関係グラフを構築します -- ティア分類については data-architecture-reference.md を参照してください
EnterPlanModeでプラン モードに入り、テーブル、カラム、リレーションシップ、および作成順序を含む ER モデルを表示しますExitPlanModeで承認を取得します
ステップ 2: API 認証のセットアップ (テーブルを作成する場合)
詳細については api-authentication-reference.md を参照してください。
az account show # Azure CLI がログインしていることを確認
pwsh -NoProfile -Command "pac org who" # 環境 URL を取得
$api = Initialize-DataverseApi -EnvironmentUrl "https://<org>.crm.dynamics.com"
$headers = $api.Headers
$baseUrl = $api.BaseUrl
$publisherPrefix = $api.PublisherPrefix
システム管理者またはシステム カスタマイザーセキュリティ ロールが必要です。
ステップ 3: 既存テーブルの確認 (テーブルを作成する場合)
テーブルを作成する前に、常に既存テーブルをクエリします:
$existingTables = Invoke-RestMethod -Uri "$baseUrl/EntityDefinitions?`$filter=IsCustomEntity eq true&`$select=SchemaName,LogicalName,DisplayName" -Headers $headers
Find-SimilarTables、Compare-TableSchemas、Build-TableNameMapping 関数については table-management-reference.md を参照してください。
ask_user_question でユーザーに次の情報を表示します:
- 再利用可能 なテーブル (既に存在し、カラムが一致)
- 拡張が必要 なテーブル (存在するがカラムが不足)
- 作成が必要 なテーブル (一致するものが見つからない)
ステップ 4: テーブルの作成 (テーブルを作成する場合)
作成前に明示的な確認を取得します。依存関係順に作成します:
- ティア 0: 参照テーブル (依存関係なし)
- ティア 1: プライマリ エンティティ (ティア 0 を参照)
- ティア 2: 依存テーブル (ティア 1 を参照)
table-management-reference.md の安全な関数を使用します:
New-DataverseTableIfNotExistsAdd-DataverseColumnIfNotExistsAdd-DataverseLookupIfNotExists(data-architecture-reference.md より)
ステップ 5: データ ソースの追加
各テーブルについて:
pwsh -NoProfile -Command "pac code add-data-source -a dataverse -t <table-logical-name>"
各テーブルに対してコマンドを実行することで、複数のテーブルを追加できます。
ステップ 6: 生成されたファイルの確認
コマンドは次のファイルを生成します:
src/generated/models/{Table}Model.ts-- TypeScript インターフェースsrc/generated/services/{Table}Service.ts-- CRUD メソッド (create、get、getAll、update、delete)
ユーザーに使用例を表示します:
import { AccountsService } from "../generated/services/AccountsService";
const result = await AccountsService.getAll({
select: ["name", "accountnumber"],
filter: "statecode eq 0",
orderBy: ["name asc"],
top: 50
});
const accounts = result.data || [];
重要なルール:
- 生成されたサービス (
AccountsService.getAll()など) を使用し、fetch/axios は使用しない - 実際のデータについて
result.dataを確認する - 必要でない限り、生成されたファイルを編集しない
- Dataverse コードを作成する前に dataverse-reference.md を read_file で確認 -- ピックリスト フィールド、仮想フィールド、ルックアップに重要な注意点があります
ステップ 7: ビルド
npm run build
続行する前に TypeScript エラーを修正します。まだデプロイしないでください。
メモリ バンクの更新
追加 (または作成) されたテーブル、生成されたファイル、スキーマに関するメモを記録します。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- promitdutta
- ライセンス
- MIT
- 最終更新
- 2026/4/5
Source: https://github.com/promitdutta/power-platform-skills-qwen / ライセンス: MIT