yangweijie / think-orm-kdb
人大金库驱动 for think-orm
v1.0.0
2024-07-15 00:40 UTC
Requires
- php: 5.6 |7.2
- ext-ctype: *
- ext-pdo: *
- topthink/think-orm: ^2.0
README
人大金仓 驱动 for think-orm
安装
目前win只有 7.2 和 5.6 两个版本
v9r1_pdo_kdb_win.zip
找到nts (对应本地php thread safe)的复制到ext里 改 php.ini
extension=php_pdo_kdb.dll
php -m 后 如果 提示以下错误:
PHP Warning: PHP Startup: Unable to load dynamic library
则需要把数据库安装目录下的D:\soft\Kingbase\ES\V9\Server\bin中的dll文件和D:\soft\Kingbase\ES\V8\jre\bin中的dll文件都拷贝至C:\Windows\System32目录下。
框架配置
config/database.php
中配置
'default'='kdb', 'kdb'=>[ 'type'=>'kdb', 'hostname'=>'localhost', 'hostport'=>54321, 'username'=>'sysdba', 'password' => 'sysdba', 'database'=>'blog', 'charset' => Env::get('database.charset', 'utf8'), 'prefix' => 'dp_', ]
兼容性
find_in_set
参见src/connector/kdb.sql
json
json 函数必须将字段设置为json 或 jsonb
json_set 函数没有 所以
Test::json(['content'])->where('id', 1)->update([ 'content->nickname'=>'流年2' ]);
这种写法更定json字段里单路径 不支持
主键自增
数据库管理和迁移
navicat
直接以pgsql 方式可以连接
参考
难点
乱码? 未复现,尝试 在会话里set names 成功
todo
[] 不兼容函数测试