feat(migrations): expose queryable resource links#12193
Open
abnegate wants to merge 8 commits into
Open
Conversation
Contributor
Greptile SummaryThis PR exposes migration resource links as separate queryable fields. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (14): Last reviewed commit: "fix(migrations): normalize empty resourc..." | Re-trigger Greptile |
🔄 PHP-Retry SummaryFlaky tests detected across commits: Commit
|
| Test | Retries | Total Time | Details |
|---|---|---|---|
LegacyCustomClientTest::testTimeout |
1 | 139.25s | Logs |
Commit 4b5c123 - 1 flaky test
| Test | Retries | Total Time | Details |
|---|---|---|---|
DocumentsDBCustomServerTest::testTimeout |
1 | 128.35s | Logs |
Commit ea9a74b - 1 flaky test
| Test | Retries | Total Time | Details |
|---|---|---|---|
DocumentsDBCustomServerTest::testTimeout |
1 | 126.46s | Logs |
Commit 2d828af - 1 flaky test
| Test | Retries | Total Time | Details |
|---|---|---|---|
FunctionsCustomServerTest::testDeleteExecution |
1 | 149ms | Logs |
Commit 7d0e4ba - 1 flaky test
| Test | Retries | Total Time | Details |
|---|---|---|---|
LegacyCustomClientTest::testNotEndsWith |
1 | 240.89s | Logs |
Note: Flaky test results are tracked for the last 5 commits
✨ Benchmark resultsComparing 1.9.x (before) to feat/migration-resource-attrs (after). Before
After
Delta
Top API waits
|
8 tasks
|
Found 1 test failure on Blacksmith runners: Failure
|
abnegate
force-pushed
the
feat/migration-resource-attrs
branch
from
July 17, 2026 12:27
7f48a8a to
2c02b5d
Compare
abnegate
force-pushed
the
feat/migration-resource-attrs
branch
from
July 17, 2026 12:29
2c02b5d to
4b5c123
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Database lookup contract
Canonical operational selector types are
databasefor TablesDB and legacy database roots,documentsdb, andvectorsdb. The publictablesdbalias is normalized todatabase;tablesdbis not stored in the migration selector fields.A database history lookup is an OR across these independently queryable pairs:
resourceTypeandresourceIdfor a source rootparentResourceTypeandparentResourceIdwhen the migration leaf belongs to a databasedestinationResourceTypeanddestinationResourceIdfor the recovered databaseThe operational contract is therefore not a single
resourceType + resourceIdequality for every migration shape.Destination ownership
CSV and JSON imports persist the destination database immediately because it already exists and is known synchronously.
Full Appwrite or backup transfers intentionally do not infer destination IDs from worker callbacks, cache entries, or reports. Those values can be ambiguous during overwrite and temporary-ID flows. Cloud backup restore owns that linkage by resolving the requested target before enqueue.
Compatibility
Validation
fromResourceIds()andrunWithResourceSelector()against migration#176 final green head7d0e4ba0f7d38f6cf15aeecbd31c8eb1060529f3, including MongoDB dedicated migrationsLinked
Merge note
The temporary exact commit pin keeps cross-PR CI reproducible. Replace it with the tagged Packagist release from utopia-php/migration#176 before merge.