Important: Four job columns are nullable now 

Description 

Four columns of tx_academicjobs_domain_model_job were declared as TEXT with a default value:

company_name text NOT NULL DEFAULT '',
sector text NOT NULL DEFAULT '',
required_degree text NOT NULL DEFAULT '',
contractual_relationship text NOT NULL DEFAULT '',
Copied!

MySQL cannot store a default value on a TEXT column. TYPO3 works around that from v13 on, by expressing the default in the DEFAULT ('') syntax MySQL 8.0.13 introduced — so the declarations are harmless on every core version this release supports. On TYPO3 v12 they were not: the columns ended up NOT NULL with no default at all, and every statement that did not name them was rejected with Field 'company_name' doesn't have a default value . Imports and data sets were the reachable case; the frontend form persists a full record, and the backend fills the columns from their default in TCA.

The columns keep their type and lose the default instead:

company_name text DEFAULT NULL,
sector text DEFAULT NULL,
required_degree text DEFAULT NULL,
contractual_relationship text DEFAULT NULL,
Copied!

The change is carried here as well so that both maintained branches declare the columns identically.

Impact 

Records written without naming a column now store NULL where they previously stored an empty string. Existing rows are not changed, so a column can hold both. The domain model is unaffected — Extbase casts NULL to an empty string for its string properties — but code reading the columns directly should compare with empty() rather than with '' .

Affected Installations 

All installations of this extension. The database schema has to be updated, either in the maintenance area of the install tool or with typo3 extension:setup . The change only relaxes the columns, so no data is converted and nothing can be lost.