An open API service indexing awesome lists of open source software.

https://github.com/arillo/silverstripe-multidb


https://github.com/arillo/silverstripe-multidb

Last synced: 2 days ago
JSON representation

Awesome Lists containing this project

README

          

# Arillo\MultiDB

*[Experimental]* Simple DataObject proxy helping to persist records in multiple databases.

[![Latest Stable Version](https://poser.pugx.org/arillo/silverstripe-multidb/v/stable?format=flat)](https://packagist.org/packages/arillo/silverstripe-multidb)
 
[![Total Downloads](https://poser.pugx.org/arillo/silverstripe-multidb/downloads?format=flat)](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
* ...