Skip to content

Fix PHPStan error and schemaless test failure for MongoDB relationship support#809

Closed
Copilot wants to merge 10 commits intomainfrom
copilot/complete-mongodb-relationships
Closed

Fix PHPStan error and schemaless test failure for MongoDB relationship support#809
Copilot wants to merge 10 commits intomainfrom
copilot/complete-mongodb-relationships

Conversation

Copy link
Contributor

Copilot AI commented Feb 13, 2026

PHPStan level 7 (composer check) reports one error in the MongoDB adapter. Additionally, a structure validation test fails in schemaless mode.

PHPStan: redundant null check in renameIndex

The guard clause at line 1125 guarantees $index is non-null, making the $index && on line 1134 always true.

// Before
if (!$index) {
    throw new DatabaseException('Index not found: ' . $old);
}
// ...
if ($index && $deletedindex && $createdindex) { // $index always true here

// After
if ($deletedindex && $createdindex) {

Test: skip structure validation test in schemaless mode

testStructureValidationAfterRelationsAttribute expects StructureException for unknown attributes, but the Structure validator's checkForUnknownAttributes() is a no-op when getSupportForAttributes() is false. Added the standard skip guard matching the pattern used throughout AttributeTests.php.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/BWkYTe /usr/bin/composer install --ignore-platform-reqs (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/Nevay/spi/zipball/e7078767866d0a9e0f91d3f9d42a832df5e39002
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/BWkYTe /usr/bin/composer install --ignore-platform-reqs (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/Nyholm/psr7-server/zipball/4335801d851f554ca43fa6e7d2602141538854dc
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/brick/math/zipball/63422359a44b7f06cae63c3b429b59e8efcc0629
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/BWkYTe /usr/bin/composer install --ignore-platform-reqs (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/BWkYTe /usr/bin/composer install --ignore-platform-reqs (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/doctrine/instantiator/zipball/23da848e1a2308728fe5fdddabf4be17ff9720c7
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/krakjoe/pcov-clobber/zipball/4c30759e912e6e5d5bf833fb3d77b5bd51709f05
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/laravel/pint/zipball/54cca2de13790570c7b6f0f94f37896bee4abcb5
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/mongodb/mongo-php-library/zipball/0a2472ba9cbb932f7e43a8770aedb2fc30612a67
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/nikic/PHP-Parser/zipball/51bd93cc741b7fc3d63d20b6bdcd99fdaa359837
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/opentelemetry-php/api/zipball/df5197c6fd0ddd8e9883b87de042d9341300e2ad
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/opentelemetry-php/context/zipball/d4c4470b541ce72000d18c339cfee633e4c8e0cf
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/opentelemetry-php/exporter-otlp/zipball/283a0d66522f2adc6d8d7debfd7686be91c282be
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/673af5b06545b513466081884b47ef15a536edde
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/opentelemetry-php/sdk/zipball/c76f91203bf7ef98ab3f4e0a82ca21699af185e1
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/e613bc640a407def4991b8a936a9b27edd9a3240
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/BWkYTe /usr/bin/composer install --ignore-platform-reqs (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/BWkYTe /usr/bin/composer install --ignore-platform-reqs (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/phpstan/phpstan/zipball/2770dcdf5078d0b0d53f94317e06affe88419aa8
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
  • https://api.github.com/repos/phpstan/phpstan/zipball/c6f73a2af4cbcd99c931d0fb8f08548cc0fa8224
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/BOSody /usr/bin/composer global require phpstan/phpstan --no-interaction --verify cal/bin/git git conf�� en git cal/bin/git en git ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/oMDGjP /usr/bin/composer install --prefer-source --ignore-platform-reqs --no-interaction git } git conf�� github.accesstoken git git --quiet --verify vmjduv7 git (http block)
  • https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/ebe8010a61b2ae0cff0d246fe1c4d44e9f7dfa6d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/richardregeer/phpunit-coverage-check/zipball/9618fa74477fbc448c1b0599bef5153d170094bd
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/comparator/zipball/e4df00b9b3571187db2831ae9aada2c6efbd715d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/exporter/zipball/14c6ba52f95a36c3d27c835d65efc7123c446e8c
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b36f02317466907a230d3aa1d34467041271ef4a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/swoole/ide-helper/zipball/9cfc6669b83be0fa6fface91a6f372a0bb84bf1a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/BWkYTe /usr/bin/composer install --ignore-platform-reqs (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/symfony/http-client/zipball/84bb634857a893cc146cceb467e31b3f02c5fe9f
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/BWkYTe /usr/bin/composer install --ignore-platform-reqs (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-php82/zipball/5d2ed36f7734637dacc025f179698031951b1692
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/utopia-php/cache/zipball/7068870c086a6aea16173563a26b93ef3e408439
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/utopia-php/cli/zipball/c30ef985a4e739758a0d95eb0706b357b6d8c086
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/rBq2EM /usr/bin/composer install --ignore-platform-reqs --no-interaction client.git -- /opt/pipx_bin/giexec 'git' 'branch' '-r' git remo�� set-url --push tnet/tools/git -- git@github.com:sreset ndor/bin/git git (http block)
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/WPX677 /usr/bin/composer require --dev phpstan/phpstan --ignore-platform-reqs --no-interaction ndor/bin/git /usr/lib/git-cor--verify inde�� en --fix-thin 0d2ef4f6^{commit} elper.git/ git it git (http block)
  • https://api.github.com/repos/utopia-php/compression/zipball/66f093557ba66d98245e562036182016c7dcfe8a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/utopia-php/http/zipball/409a258814d664d3a50fa2f48b6695679334d30b
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/utopia-php/mongo/zipball/45bedf36c2c946ec7a0a3e59b9f12f772de0b01d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/utopia-php/pools/zipball/b7d8dd00306cdd8bf3ff6f1dc90caeaf27dabeb1
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/utopia-php/telemetry/zipball/9997ebf59bb77920a7223ad73d834a76b09152c3
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)
  • https://api.github.com/repos/utopia-php/validators/zipball/30b6030a5b100fc1dff34506e5053759594b2a20
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/I7Bu1R /usr/bin/composer install --no-dev --ignore-platform-reqs --no-interaction (http block)

If you need me to access, download, or install something from one of these locations, you can either:


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

…nd deleteRelationship

- Change getSupportForRelationships() to return true, enabling all relationship tests
- Fix deleteRelationship() ONE_TO_ONE to handle side parameter correctly (matching MariaDB)
- Fix deleteRelationship() ONE_TO_MANY/MANY_TO_ONE to unset correct fields per side
- Fix deleteRelationship() MANY_TO_MANY to use sequence-based junction collection naming and side parameter (matching MariaDB pattern)

Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
Copilot AI changed the title [WIP] Complete MongoDB relationship support with full tests Enable MongoDB relationship support with corrected deleteRelationship implementation Feb 13, 2026
Copilot AI requested a review from abnegate February 13, 2026 01:53
Copilot AI and others added 4 commits February 14, 2026 05:27
- Fix updateRelationship: pass raw collection ID to getDocument for M2M metadata lookup
- Fix updateRelationship: add guards to prevent $rename when old key == new key
- Fix deleteRelationship: pass raw collection ID to getDocument for M2M metadata lookup
- Fix replaceChars: handle all $-prefixed user field names, not just known attributes
- Fix castingAfter: ensure null relationship attributes exist in documents returned from MongoDB

Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
- Escape $ prefix and dots in MongoDB field names (replaceChars, buildFilter, deleteRelationship, updateRelationship)
- Fix renameIndex to search by $id instead of key field
- Add ensureRelationshipDefaults to set null for missing stored relationship attributes
- Add escapeMongoFieldName helper for consistent field name escaping

Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
…attributes

- Fix endsWith/startsWith regex: remove double-escaping of backslashes from preg_quote
- Add escapeQueryAttributes to handle dots in query attributes vs nested object paths
- Only escape $-prefixed attributes in buildFilter (not nested object paths)
- Add collection-aware attribute escaping in find() and count() methods
- All 606 MongoDB tests now pass (0 failures, 0 errors, 4 skips from @Depends)

Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
Move the $index null check before deleteIndex() call to prevent
deleting an index that wasn't found in metadata.

Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
Copilot AI changed the title Enable MongoDB relationship support with corrected deleteRelationship implementation Fix MongoDB adapter for full relationship support — all 606 tests passing Feb 14, 2026
Skip the test when getSupportForAttributes() is false (schemaless mode)
because schemaless databases allow unknown attributes by design, so
Structure validation won't reject the 'name' attribute.

Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
Copilot AI changed the title Fix MongoDB adapter for full relationship support — all 606 tests passing Complete MongoDB relationship support with full test coverage Feb 14, 2026
Copilot AI and others added 2 commits February 14, 2026 07:58
Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
The null check for $index at line 1125 guarantees it's non-null,
making the $index && condition at line 1134 always true.
PHPStan level 7 flagged this as "Left side of && is always true".

Co-authored-by: abnegate <5857008+abnegate@users.noreply.github.com>
Copilot AI changed the title Complete MongoDB relationship support with full test coverage Fix PHPStan error and schemaless test failure for MongoDB relationship support Feb 14, 2026
@abnegate abnegate closed this Feb 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants