fix(source-shopify): add missing format: date-time annotations to datetime schema fields#81339
fix(source-shopify): add missing format: date-time annotations to datetime schema fields#81339devin-ai-integration[bot] wants to merge 3 commits into
Conversation
…etime schema fields Co-Authored-By: bot_apk <apk@cognition.ai>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Co-Authored-By: bot_apk <apk@cognition.ai>
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksPR Slash CommandsAirbyte Maintainers (that's you!) can execute the following slash commands on your PR:
📚 Show Repo GuidanceHelpful Resources
|
Co-Authored-By: bot_apk <apk@cognition.ai>
|
|
↪️ Triggering Reason: Draft PR with CI green, linked to P3 oncall issue. Ready for prove-fix validation. |
|
|
🟢 Fix Proven — no regressions detected, all affected streams exercised. Pre-flight Checks
Regression Test Results
Affected streams exercised: Evidence Details
RecommendationReady for merge and publish. Fix is low-risk (additive schema metadata matching 17+ existing fields in the same schemas). |
|
|
↪️ Triggering Reason: Prove-fix passed (🟢 no regressions, all affected streams exercised). Advancing to AI review. |
Reviewing PR for connector safety and quality.
|
🛡️ AI PR Review Report🟢 Review Action: APPROVEDAll 12 gates passed. 🟦 Risk Level: 2/5Additive 📋 PR DetailsConnector(s): 🔍 Gate Evaluation DetailsGate-by-Gate Analysis
Detailed Gate NotesPR Hygiene:
Test Coverage:
Code Security:
Backwards Compatibility:
CI Checks:
Live / E2E Tests:
📚 Evidence ConsultedEvidence
|
|
↪️ Triggering Reason: AI review approved (APPROVE). Advancing to final readiness stage. |
Auto-merge evaluation: FAILPreconditions (all must pass)
Change scope (at least one must pass)❌ No matching change scope detected. |
What
Resolves https://github.com/airbytehq/oncall/issues/13019:
Related OSS issue: #81338
Several datetime fields in the
orders,order_refunds, anddraft_ordersschemas are missing"format": "date-time"annotations. This causes typed destinations (e.g. PostgreSQL) to createvarcharcolumns instead oftimestamptz, preventing optimized date queries.How
Added
"format": "date-time"to 8 fields across 3 schema files, matching the pattern already used by 17+ other datetime fields in the same schemas (e.g.cancelled_at,closed_at,created_at,updated_at).orders.json(4 fields):processed_at(top-level)customer.accepts_marketing_updated_atrefunds[].transactions[].created_atrefunds[].transactions[].processed_atorder_refunds.json(3 fields):processed_at(top-level)transactions[].created_attransactions[].processed_atdraft_orders.json(1 field):customer.accepts_marketing_updated_atDeclarative-First Evaluation
Not applicable — this connector is Python CDK-based (
cdk:pythontag), not declarative/manifest-only. The fix is purely in JSON schema files.Test Coverage
Added
test_schema_datetime_format.pywith 8 parametrized test cases (one per fixed field) that verify each field has"format": "date-time"in its schema definition.Review guide
source_shopify/schemas/orders.json— 4 fields gain"format": "date-time"source_shopify/schemas/order_refunds.json— 3 fields gain"format": "date-time"source_shopify/schemas/draft_orders.json— 1 field gains"format": "date-time"unit_tests/test_schema_datetime_format.py— new test fileUser Impact
Typed destinations (PostgreSQL, BigQuery, Snowflake, etc.) will now correctly create
timestampcolumns for these fields instead ofvarchar/string. Users who need date queries on these fields will no longer need manual casts. Existing syncs usingFull Refresh - Overwritewill pick up the corrected types on the next sync. Users onAppendmode may want to refresh the affected streams.Can this PR be safely reverted and rolled back?
Link to Devin session: https://app.devin.ai/sessions/107bf2c39b9a466a9d6e3d7deef6298c