关于信创
约 317 字大约 1 分钟
2025-10-02
对接达梦数据库
重要
使用达梦数据库自动的数据库转换工具一键将MYSQL转换到达梦数据库。然后按以下步骤进行操作。
步骤 1
安装
jackfinal/laravel-dm8
扩展: composer require jackfinal/laravel-dm8步骤 2
提示
修改文件
vendor/illuminate/database/Connectors/ConnectionFactory.php
引入类
use LaravelDm8\Dm8\Connectors\DmConnector;
,use LaravelDm8\Dm8\Dm8Connection;
新增达梦数据库连接器,约254行
'dm' => new DmConnector,
return match ($config['driver']) { 'mysql' => new MySqlConnector, 'pgsql' => new PostgresConnector, 'sqlite' => new SQLiteConnector, 'sqlsrv' => new SqlServerConnector, 'dm' => new DmConnector, //新增这行 default => throw new InvalidArgumentException("Unsupported driver [{$config['driver']}]."), };
新增达梦数据库驱动,约282行
'dm' => new Dm8Connection($connection, $database, $prefix, $config),
return match ($driver) { 'mysql' => new MySqlConnection($connection, $database, $prefix, $config), 'pgsql' => new PostgresConnection($connection, $database, $prefix, $config), 'sqlite' => new SQLiteConnection($connection, $database, $prefix, $config), 'sqlsrv' => new SqlServerConnection($connection, $database, $prefix, $config), 'dm' => new Dm8Connection($connection, $database, $prefix, $config),//新增这行 default => throw new InvalidArgumentException("Unsupported driver [{$driver}]."), };
步骤 3
配置数据库文件
config/database.php
新增达梦数据库配置,修改默认数据库链接为达梦数据库return [ // 默认数据库 'default' => 'dm', // 各种数据库配置 'connections' => [ 'mysql' => [ 'driver' => 'mysql', ...... ], 'dm' => [ 'driver' => 'dm', 'debug' => false, 'host' => getenv('DB_HOST'), 'port' => getenv('DB_PORT'), 'database' => getenv('DB_NAME'), 'username' => getenv('DB_USER'), 'password' => getenv('DB_PASSWORD'), 'unix_socket' => '', 'charset' => 'UTF8', 'collation' => 'utf8', 'prefix' => getenv('DB_PREFIX'), 'strict' => true, 'engine' => null, 'options' => [ \PDO::ATTR_TIMEOUT => 3, \PDO::ATTR_ORACLE_NULLS => \PDO::NULL_TO_STRING ], ], ], ];