https://github.com/arillo/silverstripe-multidb
https://github.com/arillo/silverstripe-multidb
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/arillo/silverstripe-multidb
- Owner: arillo
- Created: 2018-09-13T16:15:45.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-09-13T16:25:39.000Z (almost 8 years ago)
- Last Synced: 2025-01-18T15:51:55.026Z (over 1 year ago)
- Language: PHP
- Size: 2.93 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Arillo\MultiDB
*[Experimental]* Simple DataObject proxy helping to persist records in multiple databases.
[](https://packagist.org/packages/arillo/silverstripe-multidb)
[](https://packagist.org/packages/arillo/silverstripe-multidb)
### Requirements
SilverStripe CMS ^4.0
### Installation
```bash
composer require arillo/silverstripe-multidb
```
### Usage
```php
'Varchar(255)',
'FirstName' => 'Varchar(255)',
'Surname' => 'Varchar(255)',
],
$summary_fields = [
'Email' => 'Email',
'FirstName' => 'FirstName',
'Surname' => 'Surname',
]
;
}
use Arillo\MultiDB\DataObjectProxy;
class MyDataObjectProxy extends DataObjectProxy
{
private static
$dataobject_class = MyDataObject::class
;
public static function db_config()
{
// Medoo configurations (@see https://medoo.in/api/new)
return [
'database_type' => 'mysql',
'database_name' => ,
'server' => ,
'username' => ,
'password' => ,
];
}
}
// get all
$records = MyDataObjectProxy::get();
// create
$item = MyDataObjectProxy::create([
'Email' => 'some@email.com',
]);
// save it
$item->write();
$item->exists(); // true
// update record
$item->update([
'Email' => 'updated@email.com',
])->write();
\SilverStripe\Dev\Debug::dump($item);
// delete record
$item->delete();
```
### @TODO
* tests
* migrations
* ...