Modernize DevTools for Phalcon 6 - #1551
Open
romeomanzur wants to merge 15 commits into
Open
romeomanzur wants to merge 15 commits into
romeomanzur wants to merge 15 commits into
Conversation
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
Assisted-by: ChatGPT
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.
In raising this pull request, I confirm the following:
Summary
This pull request modernizes Phalcon DevTools for the Phalcon 6 ecosystem while using the current
5.0.xbranch as the integration base.The changes update the runtime, generated code, migrations integration, testing infrastructure, static analysis, CI, dependencies, documentation, and release tooling so DevTools can operate with the Composer-based Phalcon 6 packages.
Motivation
Phalcon 6 is distributed through Composer and no longer relies on the legacy
ext-phalconextension.The existing DevTools codebase still contained assumptions and dependencies inherited from the Phalcon 4/5 extension-based architecture, including outdated generated code, migration handling, test infrastructure, CI configuration, and runtime dependencies.
This PR updates those areas while preserving the existing DevTools command structure and development workflow where possible.
Requirements and compatibility
>= 8.2 < 9.0phalcon/phalconext-phalconextension is no longer requiredphalcon/migrationsv4 integrationMain changes
phalcon/phalcon.phalcon/migrationsv4.Phalcon\Migrations\Utils\Config.no-auto-increment, description, reference-schema handling, and foreign-key checks with migrations v4.Runtime dependencies
The runtime dependency set was reviewed separately from development tooling.
Development-only packages such as Codeception, PHPUnit, PHPStan, Psalm, PHP_CodeSniffer, Box, and PHPDoc tooling remain in
require-devand are not installed in consumer projects.A separate consumer installation smoke test was performed to verify that DevTools installs and runs without its development dependency set.
Migrations
The migration command previously passed the regular application
Phalcon\Config\Configinstance directly intophalcon/migrations.Migrations v4 expects
Phalcon\Migrations\Utils\Config, so DevTools now converts the application configuration before invoking the migrations API while preserving the original configuration for DevTools-specific options.Migration generation, listing, and execution were tested against MySQL, including migration state tracking.
Validation
The updated branch has been validated with:
--versionand--help.The generated PHAR successfully reports: