private function getInputFromTable() { $tableName = $this->dynamicVars['$TABLE_NAME$']; $this->inputFields = TableFieldsGenerator::generateFieldsFromTable($tableName); $this->checkForDiffPrimaryKey(); }
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; }