1 | <?php |
||
19 | class Schema extends \yii\db\mysql\Schema |
||
20 | { |
||
21 | const TYPE_BLOB = 'blob'; |
||
22 | const TYPE_BINARY_PK = 'binary_pk'; |
||
23 | const TYPE_GUID_PK = 'binary_pk'; |
||
24 | const TYPE_TINYINT = 'tinyint'; |
||
25 | const TYPE_VARCHAR = 'varchar'; |
||
26 | const TYPE_VARBINARY = 'varbinary'; |
||
27 | |||
28 | /** |
||
29 | * @var array mapping from physical column types (keys) to abstract column types (values) |
||
30 | */ |
||
31 | public $typeMap = [ |
||
32 | 'tinyint' => self::TYPE_TINYINT, |
||
33 | 'bit' => self::TYPE_INTEGER, |
||
34 | 'smallint' => self::TYPE_SMALLINT, |
||
35 | 'mediumint' => self::TYPE_INTEGER, |
||
36 | 'int' => self::TYPE_INTEGER, |
||
37 | 'integer' => self::TYPE_INTEGER, |
||
38 | 'bigint' => self::TYPE_BIGINT, |
||
39 | 'float' => self::TYPE_FLOAT, |
||
40 | 'double' => self::TYPE_DOUBLE, |
||
41 | 'real' => self::TYPE_FLOAT, |
||
42 | 'decimal' => self::TYPE_DECIMAL, |
||
43 | 'numeric' => self::TYPE_DECIMAL, |
||
44 | 'tinytext' => self::TYPE_TEXT, |
||
45 | 'mediumtext' => self::TYPE_TEXT, |
||
46 | 'longtext' => self::TYPE_TEXT, |
||
47 | 'longblob' => self::TYPE_BLOB, |
||
48 | 'blob' => self::TYPE_BLOB, |
||
49 | 'text' => self::TYPE_TEXT, |
||
50 | 'string' => self::TYPE_STRING, |
||
51 | 'char' => self::TYPE_CHAR, |
||
52 | 'varchar' => self::TYPE_VARCHAR, |
||
53 | 'datetime' => self::TYPE_DATETIME, |
||
54 | 'year' => self::TYPE_DATE, |
||
55 | 'date' => self::TYPE_DATE, |
||
56 | 'time' => self::TYPE_TIME, |
||
57 | 'timestamp' => self::TYPE_TIMESTAMP, |
||
58 | 'enum' => self::TYPE_STRING, |
||
59 | 'binary' => self::TYPE_BINARY, |
||
60 | 'varbinary' => self::TYPE_VARBINARY, |
||
61 | ]; |
||
62 | |||
63 | /** |
||
64 | * Creates a query builder for the MySQL database. |
||
65 | * @return QueryBuilder query builder instance |
||
66 | */ |
||
67 | public function createQueryBuilder() |
||
73 | |||
74 | /** |
||
75 | * @inheritdoc |
||
76 | */ |
||
77 | public function createColumnSchemaBuilder($type, $length = null) |
||
81 | } |