think-migration/README.md

54 lines
1.7 KiB
Markdown
Raw Normal View History

2017-09-15 08:24:00 +00:00
# thinkphp5.1 数据库迁移工具
2016-12-18 13:49:35 +00:00
## 安装
~~~
composer require topthink/think-migration
~~~
2019-08-26 16:10:47 +00:00
2019-08-26 16:18:04 +00:00
## 修改v2.0.3
2019-08-26 16:10:47 +00:00
* Column的类型报错
* PdoAdapter.php中的getColumnTypes方法中添加了smallinteger的数组内容
这里修改后可以过滤掉Column的类型报错
* mysql的类型不支持报错
* AdapterInterface.php中添加常量 const PHINX_TYPE_SMALL_INTEGER = 'smallinteger';
* MysqlAdapter.php中修改和添加getSqlType方法中的内容
```
case static::PHINX_TYPE_INTEGER:
if ($limit && $limit >= static::INT_TINY) {
$sizes = array(
// Order matters! Size must always be tested from longest to shortest!
'bigint' => static::INT_BIG,
'int' => static::INT_REGULAR,
'mediumint' => static::INT_MEDIUM,
'smallint' => static::INT_SMALL,
'tinyint' => static::INT_TINY,
);
$limits = array(
// 修改部分开始########
'smallint' => 5,
// 修改部分结束########
'int' => 11,
'bigint' => 20,
);
foreach ($sizes as $name => $length) {
if ($limit >= $length) {
$def = array('name' => $name);
if (isset($limits[$name])) {
$def['limit'] = $limits[$name];
}
return $def;
}
}
} elseif (!$limit) {
$limit = 11;
}
return array('name' => 'int', 'limit' => $limit);
break;
// 后面是添加部分
case static::PHINX_TYPE_SMALL_INTEGER:
return array('name' => 'smallint', 'limit' => 5);
break;
```