rezon73 / dbal-vertica-driver
Doctrine DBAL 驱动程序,用于 Laravel 中的 Vertica
1.4.3
2020-11-16 20:46 UTC
Requires
- php: >=7.4
- ext-json: *
- ext-odbc: *
- ext-pdo: *
- doctrine/dbal: ~2.3
- illuminate/database: ^5.5|^6.0|^7.0
- illuminate/support: ^5.5|^6.0
- symfony/options-resolver: ^3.2|^4.3
Requires (Dev)
- phpmd/phpmd: ^2.4
- phpunit/phpunit: ^5.6
- squizlabs/php_codesniffer: ^2.7
Conflicts
README
Doctrine DBAL 连接器驱动程序,适用于 Vertica。 适用于 Laravel / Lumen
要求
- php >= 7.2
- php_odbc 扩展
- Vertica 驱动程序
- Doctrine 2 DBAL
安装
PHP 扩展
apt-get install php-odbc php-pdo php-json
Vertica 驱动程序
使 ODBC 和 Vertica 驱动程序协同工作
- 从官方网站下载并解压 Vertica 驱动程序 https://my.vertica.com/vertica-client-drivers/(它应与您的 Vertica Db 版本匹配)
- 在 /opt/vertica/ 下解压驱动程序
- 创建/编辑文件:/etc/odbc.ini(《示例》)
- 创建/编辑文件:/etc/odbcinst.ini(《示例》)
- 创建/编辑文件:/etc/vertica.ini(《示例》)
其余部分
- 添加到您的 composer.json 文件中
"repositories": [ { "type": "vcs", "url": "https://github.com/rezon73/dbal-vertica-driver.git" } ]
composer install
Laravel 中的集成
.env
DB_HOST_VERTICA=127.0.0.1
#DB_PORT_VERTICA=5433 (DONT SET PORT! IT MUST BE EXACTLY INTEGER! GETTING FROM dafaults in )
DB_DATABASE_VERTICA=dbname
DB_USERNAME_VERTICA=username
DB_PASSWORD_VERTICA=password
config/database.php
<?php return [ 'connections' => [ 'vertica' => [ 'driver' => 'vertica', 'host' => env('DB_HOST_VERTICA', '127.0.0.1'), 'port' => env('DB_PORT_VERTICA', 5433), //EXACTLY DIGITS, NOT STRING 'database' => env('DB_DATABASE_VERTICA', 'forge'), 'username' => env('DB_USERNAME_VERTICA', 'forge'), 'password' => env('DB_PASSWORD_VERTICA', ''), 'schema' => 'public', 'sslmode' => 'allow', 'options' => [ PDO::ATTR_EMULATE_PREPARES => false, ] ] ];
app/Providers/AppServiceProvider.php
<?php class AppServiceProvider extends ServiceProvider { public function boot() { App::bind('db.connector.vertica', function () { return new VerticaDriver; }); DB::resolverFor('vertica', function ($connection, $database, $prefix, $config) { return new VerticaConnection($connection, $database, $prefix, $config); }); } }