Breaking: #97358 - Removed eval=int from TCA type "datetime"¶
With forge#97232 the new TCA type
datetime has been introduced. To
further improve the usage of the new dedicated TCA type and to further reduce
complexity in the configuration, the
eval=int option has now been
removed as well. All TCA type
datetime fields, which do not use a
native database type (
dbType) are now always handled with
It is therefore recommended to represent them by an
field. To allow negative timestamps - used for dates before 1970 - the
integer database fields are required to be defined as
This means, the
unsigned definition must be omitted.
TYPO3 automatically creates database fields for all TCA type
datetime columns, if those are not already manually
defined in the corresponding extension's
datetime fields are now always handled with
int, as long
as no native database type is used.
datetime was the last TCA type using
int option is no longer evaluated by neither FormEngine
DataHandler. This means, custom FormEngine elements, which do
currently rely on this option being evaluated in any way, have to implement
the necessary functionality by themselves now.
All installations which use TCA type
without a native database type (
dbType). Also installations, using
int default value in TCA.
All installations, relying on evaluation of the
for their custom FormEngine elements.
eval=int from any TCA column of type
Migrate necessary functionality, related to TCA option
to your custom extension code, since FormEngine does no longer evaluate
default values for TCA type
Migrate corresponding database fields to
integer where applicable.
# Before CREATE TABLE tx_ext_my_table ( datetime text ); # After CREATE TABLE tx_ext_my_table ( datetime int(11) DEFAULT '0' NOT NULL, );
In case the corresponding TCA field defines
NOT NULL definition must be omitted.
In case you don't need any manual configuration (e.g. a special default
value), you can omit the definition of the database field, since TYPO3
automatically creates those fields for TCA type