Important: The link column of pages is nullable now
Description
The extension adds a
link
column to the shared
pages
table.
It was declared as:
link text NOT NULL DEFAULT '',
MySQL cannot store a plain default value on a
TEXT
column. TYPO3 v13
works around that by writing the default in the
DEFAULT syntax
MySQL 8.0.13 introduced. TYPO3 v12 does not, so there the column was created
NOT NULL
with no default at all. Every statement that does not name the
column was then rejected, and that includes creating a page in the backend:
SQL error: "Field 'link' doesn't have a default value" (pages:NEW1)
No page was created. MariaDB, PostgreSQL and SQLite were never affected.
The column keeps its type and loses the default instead:
link text DEFAULT NULL,
Impact
Creating a page works again on TYPO3 v12 with MySQL.
Records written without naming the column now store
NULL
where
they previously stored an empty string. Existing rows are not changed, so
the column can hold both. Code that reads it should compare with
empty rather than with
''
.
Affected Installations
All installations of this extension. The database schema has to be
updated, either in Admin Tools > Maintenance > Analyze Database
Structure or with
vendor/. The change only
relaxes the column, so no data is converted and nothing can be lost.