![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Setup/SchemaListenerDefinition/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Setup\SchemaListenerDefinition; use Magento\Framework\DB\Ddl\Table; /** * Convert definition for all text types: timestamp, datetime. */ class TimestampDefinition implements DefinitionConverterInterface { /** * @inheritdoc */ public function convertToDefinition(array $definition) { $cDefault = $definition['default'] ?? null; $cNullable = $definition['nullable'] ?? true; $onUpdate = false; if ($cDefault === null && !$cNullable) { $cDefault = 'NULL'; } elseif ($cDefault == Table::TIMESTAMP_INIT) { $cDefault = 'CURRENT_TIMESTAMP'; } elseif ($cDefault == Table::TIMESTAMP_UPDATE) { $cDefault = '0'; $onUpdate = true; } elseif ($cDefault == Table::TIMESTAMP_INIT_UPDATE) { $cDefault = 'CURRENT_TIMESTAMP'; $onUpdate = true; } elseif (!$cNullable && !$cDefault && $definition['type'] === 'timestamp') { $cDefault = 'CURRENT_TIMESTAMP'; $onUpdate = true; $cNullable = true; } return [ 'xsi:type' => $definition['type'], 'name' => $definition['name'], 'on_update' => $onUpdate, 'nullable' => $cNullable, 'default' => $cDefault ]; } }