keygenqt / yii2-vertica
为Yii框架提供的Vertica集成和ActiveRecord
1.0.0
2020-05-28 20:43 UTC
Requires
- php: >=5.4.0
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-08-28 10:56:30 UTC
README
本扩展为Yii2框架提供了vertica集成。它包括基本的查询/搜索支持和实现了ActiveRecord
模式,允许您将活动记录存储在vertica中。
由odbc_connect()驱动
要使用此扩展,您需要在应用程序配置中配置Connection类
return [ //.... 'components' => [ 'vertica' => [ 'class' => 'yii\vertica\Connection', 'dsn' => 'Driver=Vertica;Server=localhost;Database=my-database;', 'username' => 'dbadmin', 'password' => 'password-base', ], ] ];
以及console.php用于迁移
return [ 'controllerMap' => [ 'migrate-vertica' => 'yii\vertica\controllers\MigrateVerticaController', ], ];
要求
在版本7.1.2上进行了性能测试
安装
安装此扩展的最佳方式是通过composer。
您可以在composer.json的require部分添加以下内容:
{ "require": { "keygenqt/yii2-vertica": "*", } }
使用ActiveRecord
以下是一个名为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; } }