Skip to content

xcorp1986/think-migration

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

thinkphp5.1 数据库迁移工具

安装

composer require cheukpang/think-migration

修改(v2.0.4)

  • 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;

  • 修复对php7.4不兼容的报错(官方包没怎么对v2怎么维护,只能fork建新包了)

About

thinkphp 数据库迁移工具

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%