Add memo/multiline column type support#155
Conversation
There was a problem hiding this comment.
Pull request overview
Adds support for Dataverse multiline text columns by introducing "memo" / "multiline" as recognized column types in table/column creation workflows.
Changes:
- Extend
_ODataClient._attribute_payload()to emitMemoAttributeMetadatafor"memo"/"multiline". - Update public docs/examples (TableOperations docstring, README, SKILL docs, walkthrough) to list/use the new type.
- Add unit tests covering memo payload generation and memo passthrough via
tables.add_columns().
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
src/PowerPlatform/Dataverse/data/_odata.py |
Adds "memo" / "multiline" handling in _attribute_payload() to generate MemoAttributeMetadata. |
src/PowerPlatform/Dataverse/operations/tables.py |
Documents "memo" / "multiline" as supported column types for tables.create(). |
examples/advanced/walkthrough.py |
Demonstrates creating/reading/updating a memo field with multiline content. |
tests/unit/data/test_odata_internal.py |
Adds unit tests for _attribute_payload() memo/multiline behavior. |
tests/unit/test_tables_operations.py |
Adds a passthrough test ensuring add_columns() forwards "memo" to _create_columns. |
README.md |
Updates table creation example and “Limitations” list to mention memo. |
src/PowerPlatform/Dataverse/claude_skill/dataverse-sdk-use/SKILL.md |
Adds memo/multiline to supported column types list. |
.claude/skills/dataverse-sdk-use/SKILL.md |
Adds memo/multiline to supported column types list (duplicate skill copy). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/PowerPlatform/Dataverse/claude_skill/dataverse-sdk-use/SKILL.md
Outdated
Show resolved
Hide resolved
4179b29 to
1d54f24
Compare
…iple classes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@microsoft-github-policy-service agree company="Microsoft" |
… as separate classes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Incorporate latest changes from microsoft/PowerPlatform-DataverseClient-Python: - Batch API with changeset, upsert, and DataFrame integration (microsoft#129) - Optimize picklist label resolution with bulk fetch (microsoft#154) - Add memo/multiline column type support (microsoft#155) - Add unit test coverage and CI coverage reporting (microsoft#158) Made-with: Cursor
Summary
Adds support for
"memo"(or"multiline") column type, enabling creation of multiline text columns on Dataverse tables. Users can specify"memo"as a column type inclient.tables.create()andclient.tables.add_columns().Changes
src/PowerPlatform/Dataverse/data/_odata.py"memo"/"multiline"handling in_attribute_payload(), generatingMemoAttributeMetadatawithMaxLength: 4000,Format: Text,ImeMode: Autosrc/PowerPlatform/Dataverse/operations/tables.py"memo"/"multiline"increate()docstringexamples/advanced/walkthrough.py"new_Notes": "memo"column to walkthrough tabletests/unit/data/test_odata_internal.pytest_memo_type()— validates MemoAttributeMetadata payloadtest_multiline_alias()— validates"multiline"produces identical resulttests/unit/test_tables_operations.pytest_add_columns_memo()— validates memo type throughadd_columns()README.md/ SKILL docs"memo"in supported column typesTesting
multiline create/read/update, empty string, None, special characters,
long text (4000 chars), memo not mistaken for picklist label,
triple-quoted strings, clearing memo to None