Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cgauge/laravel-aurora-connector
Database driver for Laravel dedicated to connect to Aurora
https://github.com/cgauge/laravel-aurora-connector
aws database driver lambda laravel mysql secrets-manager
Last synced: 13 days ago
JSON representation
Database driver for Laravel dedicated to connect to Aurora
- Host: GitHub
- URL: https://github.com/cgauge/laravel-aurora-connector
- Owner: cgauge
- License: mit
- Created: 2021-12-21T16:16:50.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-12T13:07:14.000Z (9 months ago)
- Last Synced: 2024-09-18T14:11:37.585Z (2 months ago)
- Topics: aws, database, driver, lambda, laravel, mysql, secrets-manager
- Language: PHP
- Homepage:
- Size: 24.4 KB
- Stars: 6
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Laravel Aurora Connector 📮
This library creates a new database driver for Laravel dedicated to connect to Aurora. It gives us an opportunity to properly configure the READ COMMITTED isolation as well as
load the database password from AWS Secrets.# Installation
```bash
composer require customergauge/aurora
```# Usage
In the `config/database.php`, we define a connection using the `aurora` driver
```php
'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'),
],
],
```
You also need set a region inside `config/aws.php` to be able register AWS Secret Manger Client,
this configuration is necessary to set fallback if for some reason the extension or container is not working.```php
return [
'region' => env('AWS_REGION'),
...
];
```The new 'aurora' key will allow the confiugration for the AWS Secret manager.
### Isolation Levels
By default we allow Aurora to use read committed from the read replica to reduce history length maintained by the writer replica.
If you want to turn it off, go in the `database.php`, inside the connection that you want and add```php
'tenant' => [
'driver' => 'aurora',
'isolation_level' => 'off'
...
],
```Click to know more about [Isolations Levels](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.html#AuroraMySQL.Reference.IsolationLevels)
### AWS Lambda Extension
This library performs better together with a cache server, more info: https://github.com/cgauge/aws-secretsmanager-caching-extension
## Contributing
Contributions are always welcome, please have a look at our issues to see if there's something you could help with.
## License
Laravel Aurora Connector is licensed under MIT license.