keygenqt / yii2-vertica
Vertica integration and ActiveRecord for the Yii framework
Installs: 7 387
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 11
Open Issues: 0
Type:yii2-extension
Requires
- php: >=5.4.0
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-10-28 11:22:04 UTC
README
This extension provides the vertica integration for the Yii2 framework.
It includes basic querying/search support and also implements the ActiveRecord
pattern that allows you to store active
records in vertica.
Powered by odbc_connect();
To use this extension, you have to configure the Connection class in your application configuration:
return [ //.... 'components' => [ 'vertica' => [ 'class' => 'yii\vertica\Connection', 'dsn' => 'Driver=Vertica;Server=localhost;Database=my-database;', 'username' => 'dbadmin', 'password' => 'password-base', ], ] ];
and console.php for migrate
return [ 'controllerMap' => [ 'migrate-vertica' => 'yii\vertica\controllers\MigrateVerticaController', ], ];
Requirements
Performance tested on version 7.1.2
Installation
The preferred way to install this extension is through composer.
Either add
{ "require": { "keygenqt/yii2-vertica": "*", } }
to the require section of your composer.json.
Using the ActiveRecord
The following is an example model called Admins
:
namespace app\models; use \yii\data\ActiveDataProvider; use \yii\vertica\ActiveRecord; class Admins extends ActiveRecord { public static function tableName() { return 'admins'; } /** * @return array validation rules for model attributes. */ public function rules() { return [ [['username', 'password_hash', 'blocked_at', 'role', 'created_at', 'updated_at'], 'safe'] ]; } //... public function search($params) { $query = Admins::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['like', 'username', $this->username]); $query->andFilterWhere(['like', 'password_hash', $this->password_hash]); $query->andFilterWhere(['=', 'created_at', $this->created_at]); $query->andFilterWhere(['=', 'updated_at', $this->updated_at]); return $dataProvider; } }