customergauge / aurora
Aurora 连接器用于 Laravel,支持 READ COMMITTED 和 AWS Secret Manager
1.6.0
2023-07-06 21:58 UTC
Requires
- php: >=8.0
- ext-json: *
- aws/aws-sdk-php: ^3.208
- illuminate/database: >=8.12
- illuminate/http: >=8.12
- illuminate/support: >=8.12
- psr/log: >=2
Requires (Dev)
- phpunit/phpunit: ^9.5
README
此库为 Laravel 创建了一个新的数据库驱动程序,用于连接 Aurora。它使我们能够正确配置 READ COMMITTED 隔离级别,并从 AWS Secrets 加载数据库密码。
安装
composer require customergauge/aurora
用法
在 config/database.php
中,我们使用 aurora
驱动程序定义一个连接
'tenant' => [ 'driver' => 'aurora', 'host' => env('DB_HOST'), 'port' => env('DB_PORT), 'database' => env('DB_DATABASE'), 'username' => env('DB_USERNAME'), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => false, 'engine' => null, 'options' => [], 'aurora' => [ 'secret' => env('AWS_SECRET_NAME'), ], ],
您还需要在 config/aws.php
中设置一个区域,以便能够注册 AWS Secret Manager 客户端,此配置对于设置回退(如果扩展或容器因某种原因无法正常工作)是必要的。
return [ 'region' => env('AWS_REGION'), ... ];
新的 'aurora' 键将允许配置 AWS Secret Manager。
隔离级别
默认情况下,我们允许 Aurora 使用从只读副本的 read committed 以减少写入副本维护的历史记录长度。如果您想关闭它,请进入 database.php
,在您想要的连接中添加
'tenant' => [ 'driver' => 'aurora', 'isolation_level' => 'off' ... ],
点击了解更多关于隔离级别的信息
AWS Lambda 扩展
此库与缓存服务器一起表现更佳,更多信息:https://github.com/cgauge/aws-secretsmanager-caching-extension
贡献
欢迎贡献,请查看我们的问题,看看您是否可以提供帮助。
许可证
Laravel Aurora Connector 在 MIT 许可证下授权。