Releases: cakephp/phinx
Releases · cakephp/phinx
0.14.0
Breaking Changes
- Require php-64bit to install phinx by @MasterOdin in #2169
- Min PHP 7.3 by @dereuromark in #2167
Fixes
- Fix recreating indices for renamed/removed columns. by @ndm2 in #2134
- Refactor foreign keys switching. by @ndm2 in #2171
- Fix blank line above declare statement, see PSR-12 by @chrisblech in #2175
- Add existing comment to column object for mysql by @alex-jonas in #2174
- Update phinxlog as part of migration transaction by @JRDuncan in #2181
- Fix missing quoting on constraints name for sqlserver by @algorhythm in #2186
- Make check for CURRENT_TIMESTAMP in default value case insensitive by @vuyiswankosi in #2190
- Cache created decorated connection by @MasterOdin in #2191
- Fix grammar in exception message by @cnizzardini in #2203
- Fix PostgresAdapter not returning limit for char and varchar by @roblperry in #2214
- Fix 2193 Postgres GENERATED ALWAYS by @captain-redbeard in #2195
Docs
- Update license copyright to CakePHP Software Foundation by @MasterOdin in #2170
- update phinx link by @Arhell in #2177
- Add note about MyISAM length limitation by @naidim in #2204
- Clarify where feature flags are in configuration file with a YAML example by @SteenSchutt in #2206
New Contributors
- @chrisblech made their first contribution in #2175
- @alex-jonas made their first contribution in #2174
- @algorhythm made their first contribution in #2186
- @vuyiswankosi made their first contribution in #2190
- @naidim made their first contribution in #2204
- @SteenSchutt made their first contribution in #2206
- @roblperry made their first contribution in #2214
- @captain-redbeard made their first contribution in #2195
Full Changelog: 0.13.4...0.14.0
0.13.4
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
- Fix custom column types not working anymore by @ndm2 in #2156
- Restored migration template method return types by @Bilge in #2160
- Fix foreign key constraint violations on implicit table drops by @ndm2 in #2131
- Add feature flags to disable some 0.13.0 breaking changes by @MasterOdin in #2159
- Changed breakpoint column to disallow nulls again by @Bilge in #2162
Full Changelog: 0.13.3...0.13.4
0.13.3
Fixes
- Fix string to int return type by @dereuromark in #2150
- Fix rolling back columns with indices for SQLite and SQL Server by @ndm2 in #2128
- Add testcases for Util::getVersionFromFileName function by @MasterOdin in #2153
- Fix reference to MysqlAdapter::FIRST constant in migrations doc by @niekatywny in #2143
Full Changelog: 0.13.2...0.13.3
0.13.2
Fixes
- Maintain indexes / triggers after altering sqlite tables by @MasterOdin in #2040
- Fix documentation seeder_base_class configuration by @N-Silbernagel in #2124
- Fix deprecated ${} string interpolation by @rigrig in #2133
- Fix enum by @dereuromark in #2140
New Contributors
- @Arhell made their first contribution in #2120
- @N-Silbernagel made their first contribution in #2124
- @rigrig made their first contribution in #2133
- @nono-lqdn made their first contribution in #2137
Full Changelog: 0.13.1...0.13.2
0.13.1
Fixes
- Fix target being set to
0
if omitted when running migrate by @nrob81 in #2115 - Fix deprecation warning on return value for
Config::offsetGet
by @MasterOdin in #2117
Full Changelog: 0.13.0...0.13.1
0.13.0
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 topreFlightCheck
andpostFlightCheck
(useisMigratingUp
property) by @MasterOdin in #1892 - make
utf8mb4
default charset and collation for new mysql tables by @MasterOdin in #1875 (Setcharset
andcollation
setting in phinx.php toutf8mb3
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
, orchange
methods forAbstractMigration
. 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 fromMigrationInterface
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 asINTEGER NOT NULL GENERATED ALWAYS AS IDENTITY
instead ofSERIAL NOT NULL
)
Deprecations
- Deprecate the
default_migration_table
config setting, usemigration_table
instead by @MasterOdin in #1961
New Features
- add createSchema and dropSchema methods on MigrationInterface by @MasterOdin in #1871
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 typesmallserial
) - allow setting migration_table per environment by @MasterOdin in #1961
- Add new
shouldExecute
method toAbstractMigration
andAbstractSeed
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: 0.12.13...0.13.0
0.12.13
Fixes
- Fix defaultName deprecation warning on symfony/console 6.1 by @MasterOdin in #2107
Full Changelog: 0.12.12...0.12.13
0.12.12
Fixes
- Fix setting persistent option for PDO connection by @paulermo in #2092
- Fix SqlServerAdapter returning empty string instead of null for column default by @reeperbahnause in #2090
Full Changelog: 0.12.11...0.12.12
0.12.11
Improvements
- Add full text search index GIN type by @antoniovj1 in #2066
- Support sqlite query parameters by @swiffer in #2053, #2083
- Add setting DSN options for SqlServerAdapter by @ingLomeland in #2094
Full Changelog: 0.12.10...0.12.11
0.12.10
Fixes
- Fixed setting default for Blob, Geometry, Json, and Text for MySQL 8+
- Fix using MysqlAdapter::INT_* constants as column limit
- Properly return limit for MySQL columns that include it (e.g.
smallint(5)
) - Fix adding columns to sqlite tables created externally from phinx
Improvements
- Do not print information output with option
--no-info
- Remove decimal from unsupported sqlite types list
- Mark compatibility with Symfony 6.x