dnocode/yii2-awsddb Amazon dynamo db ActiveRecord for the Yii framework

activerecordamazondynamodb

Amazon Dynamodb activeRecord Yii 2

This extension provides activeRecord support for amazon dynamo db

return [ //.... 'components' => [ ddb' => [ "class"=>'dnocode\awsddb\ar\Connection', 'base_url'=>"http://localhost:8000 [OPTIONAL ONLY FOR DYNAMO LOCAL]", 'key' => 'AMAZONKEY', 'secret' => 'AMAZONSECRET', 'region' => 'eu-west-1' ], ] ];

Installation

Add to composer dependencies

"dnocode/yii2-awsddb": "*"

USING

How to define a model

class Element {

   public $name;
   public $surname;
   public $sex;
   public $uid;

    /**hash and range**/
    public static function primaryKey(){ return ["uid"];}

    public function rules(){    return [[['uid'], 'required']];}
}

put

$e=new Element();
$e->name
$e->name="nerd";
$e->surname="iam";
$e->sex="no_nerd_i_said";
$e->uid="ciao";
$e->save();

find and update

 $element=Element::find()->where(["uid"=>"ciao"])  ->one();
 $element->surname="update";
 $consumer->save();

delete and update

 $element=Element::find()->where(["uid"=>"ciao"])  ->one();
 $element->delete();
 Element::deleteAll(["uid"=>"ciao"]);

find with where

  $element=Element::find()->
          where(["surname"=>"iam"])
          ->one();

Find object with the hash key

the active record will use
 get operation 4  performance*/

```
$element=Element::find()->
        andWhere("uid")
        ->eq("ciao")
        ->all();*/
 ```

Execute find on attribute that isn`t primary key

    will be execute a scan operation with filter on that attribute

```
$element=Element::find()->
        andwhere("surname")->eq("prova")
        ->all();
```

Compare attribute with more than one value

```
 $element=Element::orWhere("name")->in(["name1","name2"])
 ->all();
```

TODO

  1. batch operations with transaction
  2. support for relation
  3. iterator for query with more than 1MB

Changelog

Yii Framework 2 dynamodb extension Change Log

1.0.1 December 30 , 2014

Activerecord dynamo db

1.0.2 Jennary 30 , 2014

Changed way to define attribute in activerecord Added support for new M value and L value

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



v1.0.2 is the latest of 2 releases



BSD-3-Clause license
Stats
3 github stars & 3 github forks
0 downloads in the last day
0 downloads in the last 30 days
110 total downloads