jonas-elias/hyperf-oracle

hyperf/database 的 Oracle 处理器。

v1.0.1 2024-03-20 02:15 UTC

This package is auto-updated.

Last update: 2024-09-26 14:27:10 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

Hyperf-Oracle

Hyperf-Oracle 是 Hyperf 的 Oracle 数据库驱动程序包。它是 Hyperf\Database 的扩展,使用 pdo-oci 扩展与 Oracle 通信。通过集成 Swoole,Hyperf 优化了资源利用,提高了并发性,在与 Oracle 数据库交互时增强了吞吐量和响应速度。

快速安装

composer require jonas-elias/hyperf-oracle

示例

use Hyperf\DbConnection\Db;

// select
Db::table('users')->get();
// insert
Db::table('users')->insert(['name' => 'jonas']);
// update
Db::table('users')->where('id', '=', 1)->update(['name' => 'johnny']);
// delete
Db::table('users')->delete(1);

环境设置

以下环境变量应配置为指定 Oracle 数据库的连接详情

DB_DRIVER=oracle
DB_HOST=oracle.host
DB_PORT=1521
DB_SERVICE_NAME=XE
DB_SID=XE
DB_USERNAME=user
DB_PASSWORD=password
DB_CHARSET=utf8mb4
DB_AUTO_COMMIT=false
DB_TIMEZONE=America/Sao_Paulo

代码中的配置

在您的 databases.php 配置文件中,可以使用以下格式设置数据库连接

return [
    'default' => [
        'driver' => env('DB_DRIVER', 'oracle'),
        'host' => env('DB_HOST', 'host'),
        'port' => env('DB_PORT', 1521),
        'database' => env('DB_DATABASE', 'hyperf'),
        'username' => env('DB_USERNAME', 'oracle'),
        'service_name' => env('DB_SERVICE_NAME', 'XE'),
        'sid' => env('DB_SID', 'XE'),
        'auto_commit' => env('DB_AUTO_COMMIT', false),
        'timezone' => env('DB_TIMEZONE', 'America/Sao_Paulo'),
        'password' => env('DB_PASSWORD', 'password'),
        'charset' => env('DB_CHARSET', 'utf8mb4'),
        'prefix' => env('DB_PREFIX', ''),
        'pool' => [
            'min_connections' => 1,
            'max_connections' => 10,
            'connect_timeout' => 10.0,
            'wait_timeout' => 3.0,
            'heartbeat' => -1,
            'max_idle_time' => (float) env('DB_MAX_IDLE_TIME', 60),
        ],
        'commands' => [
            'gen:model' => [
                'path' => 'app/Model',
                'force_casts' => true,
                'inheritance' => 'Model',
                'uses' => '',
                'table_mapping' => [],
            ],
        ],
    ],
];

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。