Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency robmorgan/phinx to ^0.16.0 #26

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 4, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
robmorgan/phinx (source) ^0.12.5 -> ^0.16.0 age adoption passing confidence

Release Notes

cakephp/phinx (robmorgan/phinx)

v0.16.0

Compare Source

Breaking Changes

  • Validate datetime for version by @​dereuromark in https://github.com/cakephp/phinx/pull/2249
    When using AbstratMigration class, when it's instantiated, the version will be validated that it is 14 characters (YYYYMMDDHHmmSS). A future version may strengthen this to validate that it's a valid datetime. To get prior behavior, will need to extend the AbstractMigration class and either override the constructor or the new validateVersion method.
  • Fix inconsistencies with hasPrimaryKey by @​DrewKolstad in https://github.com/cakephp/phinx/pull/2228
    Previously hasPrimaryKey would return inconsistently if the passed array of columns was a subset/superset of actual primary keys. This function should now only return true iff the passed array of columns strictly matches the actual list of primary key columns (same length and values). Postgres and SQLServer are case sensitive, while MySQL and SQLite are case insensitive.

Fixes

Docs

Misc

New Contributors

Full Changelog: cakephp/phinx@0.15.5...0.16.0

v0.15.5

Compare Source

What's Changed

New Contributors

Full Changelog: cakephp/phinx@0.15.4...0.15.5

v0.15.4

Compare Source

Fixes

Note: Columns created in Sqlite before 0.15.4 using the PdoAdapter::PHINX_TYPE_BINARYUUID type were binary_blob. In 0.15.4 they were changed to be type uuid_blob. If you rely on this constant, you will need to manually update the types of any columns using PdoAdapter::PHINX_TYPE_BINARYUUID to the new value.

Note: binary(16) support for Sqlite inside CakePHP requires v5.0.3+.

New Contributors

Full Changelog: cakephp/phinx@0.15.3...0.15.4

v0.15.3

Compare Source

Fixes

Docs

New Contributors

Full Changelog: cakephp/phinx@0.15.2...0.15.3

v0.15.2

Compare Source

Fixes

Full Changelog: cakephp/phinx@0.15.1...0.15.2

v0.15.1

Compare Source

Fixes

Full Changelog: cakephp/phinx@0.15.0...0.15.1

v0.15.0

Compare Source

Note: The 2.0.0, 2.0.1, and 2.0.2 tags were created incorrectly, and have been deleted and will be removed from packagist. This release features all of the same features and changes that was in those releases. We are still using 0.x releases as the API is not yet considered stable, as evidenced by the breaking change below.

Breaking Changes

PHP 8.1 / Type declarations

This release requires PHP 8.1 or greater to be installed to use Phinx. As part of this, a number of type declarations were changed throughout Phinx to take advantage of the expanded syntax allowed by PHP 8.1. See https://github.com/cakephp/phinx/pull/2218 for all the files affected.

For users that overwrite $autoId in their migration class, this will now need a bool type declaration:

public bool $autoId = false;
Foreign Key Handling

In previous versions, Phinx was inconsistent with how it handled foreign keys across the adapters. Per https://github.com/cakephp/phinx/pull/2212, here is the old and new behaviors:

Currently the behavior looks like this:

MySQL Postgres Sqlite SQL Server
Case-sensitive drop no yes yes no¹
Case-sensitive lookup yes yes no yes¹
Multi-column drop no² yes no³ no²
Drop all column matches yes yes no yes
Column order dependent drop no no no no
Column order dependent lookup yes no no no
Silently drop non-existent by columns no yes no yes
Silently drop non-existent by name no no - no

1) In a case sensitive database the query would produce an error. 2) Generates duplicate drop instructions, one for every key that has any of the given columns. 3) For every column, the first key that starts with that column would be deleted.

With these changes, the new behavior would be as follows:

MySQL Postgres Sqlite SQL Server
Case-sensitive drop no yes¹ no yes¹
Case-sensitive lookup no yes¹ no yes¹
Multi-column drop yes yes yes yes
Drop all column matches yes yes yes yes
Column order dependent drop yes yes yes yes
Column order dependent lookup yes yes yes yes
Silently drop non-existent by columns no no no no
Silently drop non-existent by name no no - no

1) The behavior is independent of whether the database/column is actually case-sensitive.

Features

Docs

New Contributors

Full Changelog: cakephp/phinx@0.14.0...0.15.0

v0.14.0

Compare Source

Breaking Changes

Fixes

Docs

New Contributors

Full Changelog: cakephp/phinx@0.13.4...0.14.0

v0.13.4

Compare Source

Feature Flags

This release adds feature flags, which allows for toggling behavior of Phinx to better fit your workflow. Currently, there are two flags that opt out of breaking changes that were added in 0.13.0, namely allowing to restore behavior of having primary keys signed by default as well as making columns not null by default.

Fixes

Full Changelog: cakephp/phinx@0.13.3...0.13.4

v0.13.3

Compare Source

Fixes

Full Changelog: cakephp/phinx@0.13.2...0.13.3

v0.13.2

Compare Source

Fixes
New Contributors

Full Changelog: cakephp/phinx@0.13.1...0.13.2

v0.13.1

Compare Source

Fixes

Full Changelog: cakephp/phinx@0.13.0...0.13.1

v0.13.0

Compare Source

Breaking Changes

  • set column null by default unless identity by @​MasterOdin in #​1872. Previously columns were created as NOT NULL by default, and to now get that behavior, you will need to explicitly pass 'null' => false in the column options.
  • remove remove $direction argument to preFlightCheck and postFlightCheck (use isMigratingUp property) by @​MasterOdin in #​1892
  • make utf8mb4 default charset and collation for new mysql tables by @​MasterOdin in #​1875 (Set charset and collation setting in phinx.php to utf8mb3 for prior behavior)
  • make default PKs for mysql unsigned by default by @​MasterOdin in #​1899. When defining foreign keys, you will need to now need to set $signed => false. To restore prior behavior, pass $signed => true when defining the default PK.
  • Add type hints to codebase by @​MasterOdin in #​1995 (This does not affect the up, down, or change methods for AbstractMigration. If you extend from phinx, you will need to add type hinting to your code)
  • remove deprecated hasSchemaTable function from AdapterInterface by @​MasterOdin in #​1877
  • remove deprecated insert, dropTable methods from MigrationInterface by @​MasterOdin in #​1878
  • Do not set code when recasting PDOException when connecting to DB by @​MasterOdin in #​2101
  • Implement identity in PostgresAdapter by @​ajibarra in #​2085 (identity columns for postgres 10+ will now be generated as INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY instead of SERIAL NOT NULL)

Deprecations

  • Deprecate the default_migration_table config setting, use migration_table instead by @​MasterOdin in #​1961

New Features

Improvements

  • remove check on column type for setting collation / encoding by @​Masterodin in #​1881
  • trigger deprecation notice when using default_database by @​MasterOdin in #​1890 (function had been marked as deprecated in 0.12.0)
  • add support for smallserial alias for postgres by @​MasterOdin in #​1915 (note, using smallinteger on an identity column will now use the type smallserial)
  • allow setting migration_table per environment by @​MasterOdin in #​1961
  • Add new shouldExecute method to AbstractMigration and AbstractSeed by @​AdrienPoupa in #​1939
  • Add for geometry column type to SqlServerAdapter by @​tedce in #​1969
  • Add optional $params argument to query/execute adapter methods to allow usage of prepared queries by @​MasterOdin in #​1962
  • Allow specifying template style for create command by @​MasterOdin in #​2013 (note, the name of the base migration file has changed, argument has changed for AbstractCommand::getMigrationTemplateFilename)
  • Improve associative array phpdocs by @​dereuromark in #​2034
  • Pass environment to seed from manager by @​martenb in #​2102 (note, parameter change to Manager::getSeeds method)

Full Changelog: cakephp/phinx@0.12.13...0.13.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link
Contributor Author

renovate bot commented Mar 9, 2024

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (^0.16.0). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/robmorgan-phinx-0.x branch March 9, 2024 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant