于是对比了一下3.1的代码。修复之。
配置:
'DB_TYPE' => 'sqlite',
'DB_NAME' => DATA_PATH.'/test.db',文件:\Library\Think\Db\Driver\Sqlite.class.php public function getFields($tableName) {
list($tableName) = explode(' ', $tableName);
$result = $this->query('PRAGMA table_info( '.$tableName.' )');
$info = array();
if($result){
foreach ($result as $key => $val) {
$name = isset($val['field']) ? $val['field'] : $val['name'];
$info[$name] = array(
'name' => $name,
'type' => $val['type'],
'notnull' => (bool)(((isset($val['null'])) && ($val['null'] === '')) || ((isset($val['notnull'])) && ($val['notnull'] === ''))), // not null is empty, null is yes
'default' => isset($val['default']) ? $val['default'] : (isset($val['dflt_value'])?$val['dflt_value']:""),
'primary' => isset($val['key']) ? strtolower($val['key']) == 'pri' : (isset($val['pk']) ? $val['pk'] : false),
'autoinc' => isset($val['extra']) ? strtolower($val['extra']) == 'auto_increment' : (isset($val['key']) ? $val['key'] : false),
);
}
}
return $info;
}大功告成!其他问题暂未发现。 最佳答案