Aurora 连接器用于 Laravel,支持 READ COMMITTED 和 AWS Secret Manager

1.6.0 2023-07-06 21:58 UTC

This package is auto-updated.

Last update: 2024-09-12 14:23:58 UTC


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 许可证下授权。