public function generateCasts()
{
$casts = [];
$timestamps = TableFieldsGenerator::getTimestampFieldNames();
foreach ($this->commandData->inputFields as $field) {
if (in_array($field['fieldName'], $timestamps)) {
continue;
}
switch ($field['fieldType']) {
case 'integer':
$rule = "'" . $field['fieldName'] . "' => 'integer'";
break;
case 'double':
$rule = "'" . $field['fieldName'] . "' => 'double'";
break;
case 'float':
$rule = "'" . $field['fieldName'] . "' => 'float'";
break;
case 'boolean':
$rule = "'" . $field['fieldName'] . "' => 'boolean'";
break;
case 'dateTime':
case 'dateTimeTz':
$rule = "'" . $field['fieldName'] . "' => 'datetime'";
break;
case 'date':
$rule = "'" . $field['fieldName'] . "' => 'date'";
break;
case 'enum':
case 'string':
case 'char':
case 'text':
$rule = "'" . $field['fieldName'] . "' => 'string'";
break;
default:
$rule = '';
break;
}
if (!empty($rule)) {
$casts[] = $rule;
}
}
return $casts;
}