thinkphp6适配人大金仓

观看了一些大佬的文章做个整理记录下

参考https://blog.csdn.net/Alone_shine/article/details/130286443

安装pdo_kdb扩展 请看参考链接里 有提供网盘

新增人大金仓数据库的connenter类

1.进入项目目录 vendor\topthink\think-orm\src\db\connector\ 找到Pgsql.php  复制PgSql.php 重命名 Kingbase.php

$dsn = 'pgsql:dbname=' . $config['database'] . ';host=' . $config['hostname'];

修改为

$dsn = 'kdb:host=' . $config['hostname'] . ';dbname=' . $config['database'];

注释 // 'autoinc' => (0 === strpos($val['extra'], 'nextval(')),

2.vendor\topthink\think-orm\src\db\builder\下,复制Pgsql.php为Kingbase.php,同样修改文件中的类名为Kingbase。

3.config\database.php修改

<?php

return [
    // 默认使用的数据库连接配置
    'default'         => env('database.driver', 'kingbase'),

    // 自定义时间查询规则
    'time_query_rule' => [],

    // 自动写入时间戳字段
    // true为自动识别类型 false关闭
    // 字符串则明确指定时间字段类型 支持 int timestamp datetime date
    'auto_timestamp'  => true,

    // 时间字段取出后的默认时间格式
    'datetime_format' => 'Y-m-d H:i:s',

    // 数据库连接配置信息
    'connections'     => [
        'kingbase' => [
            'type'              => env('database.type', 'kingbase'),
            'hostname'          => env('database.hostname', '127.0.0.1'),
            // 数据库名
            'database'          => env('database.database', 'xianqi'),
            // 用户名
            'username'          => env('database.username', 'root'),
            // 密码
            'password'          => env('database.password', 'rootroot'),

            // 端口
            'hostport'          => env('database.hostport', '54321'),
            // 数据库连接参数
            'params'            => [],
            // 数据库编码默认采用utf8
            'charset'           => env('database.charset', 'utf8'),
            // 数据库表前缀
            'prefix'            => env('database.prefix', ''),

            // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
            'deploy'            => 0,
            // 数据库读写是否分离 主从式有效
            'rw_separate'       => false,
            // 读写分离后 主服务器数量
            'master_num'        => 1,
            // 指定从服务器序号
            'slave_no'          => '',
            // 是否严格检查字段是否存在
            'fields_strict'     => false,
            // 是否需要断线重连
            'break_reconnect'   => false,
            // 监听SQL
            'trigger_sql'       => env('app_debug', true),
            // 开启字段缓存
            'fields_cache'      => false,
            // 字段缓存路径
            'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,
        ],

    ],
];

4.因为人大金仓是基于开源数据库 PostgreSQL 开发的,大部分功能与 PostgreSQL兼容。

我们这边用pgsql.php修改也需要使用运行一个sql文件才能正常使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值