124 lines
2.9 KiB
PHP
124 lines
2.9 KiB
PHP
<?php
|
|
|
|
namespace Ulmus\Entity\InformationSchema;
|
|
|
|
use Ulmus\Entity\Field\Datetime;
|
|
|
|
/**
|
|
* @Table('name' => "columns", 'database' => "information_schema")
|
|
*/
|
|
class Column
|
|
{
|
|
use \Ulmus\EntityTrait;
|
|
|
|
/**
|
|
* @Field('name' => "TABLE_CATALOG", 'length' => 512)
|
|
*/
|
|
public string $tableCatalog;
|
|
|
|
/**
|
|
* @Field('name' => "TABLE_SCHEMA", 'length' => 64)
|
|
*/
|
|
public string $tableSchema;
|
|
|
|
/**
|
|
* @Field('name' => "TABLE_NAME", 'length' => 64)
|
|
*/
|
|
public string $tableName;
|
|
|
|
/**
|
|
* @Field('name' => "COLUMN_NAME", 'length' => 64, 'attributes' => [ 'primary_key' => true ])
|
|
*/
|
|
public string $name;
|
|
|
|
/**
|
|
* @Field('name' => "ORDINAL_POSITION", 'type' => "bigint", 'length' => 21, 'attributes' => [ 'unsigned' => true ])
|
|
*/
|
|
public int $ordinalPosition;
|
|
|
|
/**
|
|
* @Field('name' => "COLUMN_DEFAULT", 'type' => "longtext")
|
|
*/
|
|
public ? string $default;
|
|
|
|
/**
|
|
* @Field('name' => "IS_NULLABLE", 'length' => 3)
|
|
*/
|
|
public string $nullable;
|
|
|
|
/**
|
|
* @Field('name' => "DATA_TYPE", 'length' => 64)
|
|
*/
|
|
public string $dataType;
|
|
|
|
/**
|
|
* @Field('name' => "CHARACTER_MAXIMUM_LENGTH", 'type' => "bigint", 'length' => 21, 'attributes' => [ 'unsigned' => true ])
|
|
*/
|
|
public ? int $characterMaximumLength;
|
|
|
|
/**
|
|
* @Field('name' => "CHARACTER_OCTET_LENGTH", 'type' => "bigint", 'length' => 21, 'attributes' => [ 'unsigned' => true ])
|
|
*/
|
|
public ? int $characterOctetLength;
|
|
|
|
/**
|
|
* @Field('name' => "NUMERIC_PRECISION", 'type' => "bigint", 'length' => 21, 'attributes' => [ 'unsigned' => true ])
|
|
*/
|
|
public ? int $numericPrecision;
|
|
|
|
/**
|
|
* @Field('name' => "NUMERIC_SCALE", 'type' => "bigint", 'length' => 21, 'attributes' => [ 'unsigned' => true ])
|
|
*/
|
|
public ? int $numericScale;
|
|
|
|
/**
|
|
* @Field('name' => "DATETIME_PRECISION", 'type' => "bigint", 'length' => 21, 'attributes' => [ 'unsigned' => true ])
|
|
*/
|
|
public ? int $datetimePrecision;
|
|
|
|
/**
|
|
* @Field('name' => "CHARACTER_SET_NAME", 'length' => 32)
|
|
*/
|
|
public ? string $characterSetName;
|
|
|
|
/**
|
|
* @Field('name' => "COLLATION_NAME", 'length' => 32)
|
|
*/
|
|
public ? string $collationName;
|
|
|
|
/**
|
|
* @Field('name' => "COLLATION_TYPE", 'type' => "longtext")
|
|
*/
|
|
public string $type;
|
|
|
|
/**
|
|
* @Field('name' => "COLUMN_KEY", 'length' => 3)
|
|
*/
|
|
public string $key;
|
|
|
|
/**
|
|
* @Field('name' => "EXTRA", 'length' => 30)
|
|
*/
|
|
public string $extra;
|
|
|
|
/**
|
|
* @Field('name' => "PRIVILEGES", 'length' => 80)
|
|
*/
|
|
public string $privileges;
|
|
|
|
/**
|
|
* @Field('name' => "COLUMN_COMMENT", 'length' => 1024)
|
|
*/
|
|
public string $comment;
|
|
|
|
/**
|
|
* @Field('name' => "IS_GENERATED", 'length' => 6)
|
|
*/
|
|
public string $generated;
|
|
|
|
/**
|
|
* @Field('name' => "GENERATION_EXPRESSION", 'type' => "longtext")
|
|
*/
|
|
public ? string $generationExpression;
|
|
|
|
} |