{"id":14966720,"url":"https://github.com/mhthnz/yii2-tarantool","last_synced_at":"2025-06-24T08:34:40.703Z","repository":{"id":62527829,"uuid":"402842158","full_name":"mhthnz/yii2-tarantool","owner":"mhthnz","description":"Tarantool connector for yii2 framework. Allows to use activerecord, schemas, widgets and more.","archived":false,"fork":false,"pushed_at":"2023-11-26T13:15:43.000Z","size":307,"stargazers_count":12,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-22T21:04:53.435Z","etag":null,"topics":["nosql","php","sql","tarantool","yii2","yii2-extension"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mhthnz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-09-03T17:01:43.000Z","updated_at":"2025-05-16T19:14:06.000Z","dependencies_parsed_at":"2023-11-26T14:27:58.760Z","dependency_job_id":"fa90aa1e-9e41-430a-a1a4-70f59a85ab61","html_url":"https://github.com/mhthnz/yii2-tarantool","commit_stats":{"total_commits":75,"total_committers":3,"mean_commits":25.0,"dds":"0.053333333333333344","last_synced_commit":"c15123ef840246ead78425dd296bc5ae40cc7933"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/mhthnz/yii2-tarantool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhthnz%2Fyii2-tarantool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhthnz%2Fyii2-tarantool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhthnz%2Fyii2-tarantool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhthnz%2Fyii2-tarantool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mhthnz","download_url":"https://codeload.github.com/mhthnz/yii2-tarantool/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhthnz%2Fyii2-tarantool/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261636495,"owners_count":23188036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nosql","php","sql","tarantool","yii2","yii2-extension"],"created_at":"2024-09-24T13:36:51.037Z","updated_at":"2025-06-24T08:34:40.661Z","avatar_url":"https://github.com/mhthnz.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\" style=\"text-align: center\"\u003e\n    \u003ca href=\"https://github.com/yiisoft\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://yiisoft.github.io/docs/images/yii_logo.svg\" height=\"100px\" alt=\"YiiFramework\"\u003e\n    \u003c/a\u003e\n    \u003ch1 align=\"center\"\u003eTarantool connector for yii2 framework\u003c/h1\u003e\n\u003c/p\u003e\n\n[![Latest Stable Version](http://poser.pugx.org/mhthnz/yii2-tarantool/v)](https://github.com/mhthnz/yii2-tarantool/releases/latest)\n[![Latest Unstable Version](http://poser.pugx.org/mhthnz/yii2-tarantool/v/unstable)](https://packagist.org/packages/mhthnz/yii2-tarantool#dev-master)\n![Master Branch Tests](https://github.com/mhthnz/yii2-tarantool/actions/workflows/php.yml/badge.svg?branch=master)\n![Score](https://scrutinizer-ci.com/g/mhthnz/yii2-tarantool/badges/quality-score.png?b=master)\n![Coverage](https://scrutinizer-ci.com/g/mhthnz/yii2-tarantool/badges/coverage.png?b=master)\n\n[Tarantool](https://www.tarantool.io/en/doc/latest/) connector for yii2 framework. Allows to perform SQL and NoSQL queries, framework abstractions such as ActiveRecord, Schema, TableSchema, Query, ActiveQuery and etc using tarantool database.\n\nDocumentation is here: [docs/README.md](docs/README.md)\n\nCheck out yii2 basic tarantool application: [https://github.com/mhthnz/yii2-basic-tarantool-app](https://github.com/mhthnz/yii2-basic-tarantool-app)\n\nReqirements\n------------\n\n![Packagist PHP Version Support](https://img.shields.io/packagist/php-v/mhthnz/yii2-tarantool)\n![Tarantool version](https://img.shields.io/badge/tarantool-%3E%3D%202.4.1%20\u0026\u0026%20%3C=%202.10.8-blue)\n![Yii2 version](https://img.shields.io/badge/yii2-%3E%3D%202.0.35-blue)\n\nIf you are using php **7.1**, try [1.0.6 version](https://github.com/mhthnz/yii2-tarantool/releases/tag/v1.0.6). Any later versions require php **7.2**.\n\nInstallation\n------------\n\nThe preferred way to install this extension is through [composer](http://getcomposer.org/download/).\n\nEither run\n\n```\nphp composer.phar require --prefer-dist mhthnz/yii2-tarantool \"*\"\n```\n\nor add\n\n```\n\"mhthnz/yii2-tarantool\": \"*\"\n```\n\nto the require section of your `composer.json` file.\n\nConfiguration\n------------\n* [Dsn options](https://github.com/tarantool-php/client#dsn-string)\n```php\nreturn [\n    'bootstrap' =\u003e ['debug'],\n    'components' =\u003e [\n        // Tarantool connection setup\n        'tarantool' =\u003e [\n            'class' =\u003e \\mhthnz\\tarantool\\Connection::class,\n            'dsn' =\u003e 'tcp://username:password@localhost:3301/?connect_timeout=5\u0026max_retries=3',\n        ],\n    ],\n    'modules' =\u003e [\n        //Debug panel setup\n        'debug' =\u003e [\n            'class' =\u003e 'yii\\debug\\Module',\n            'panels' =\u003e [\n                'tarantool' =\u003e [\n                    'class' =\u003e \\mhthnz\\tarantool\\debug\\TarantoolPanel::class,\n                    'db' =\u003e 'tarantool', // Tarantool component id\n                ],\n            ],\n            'allowedIPs' =\u003e ['127.0.0.1', '::1'],\n        ],\n    ],\n];\n```\n\nFeatures\n------------\n* Tarantool [`Connection`](docs/CONNECTION.md) has `Command` and `QueryBuilder`\n* `ActiveRecord` models with `ActiveQuery` support\n* `Schema` abstraction, `TableSchema` and `ColumnSchema`\n* Compatible with AR validators `UniqueValidator`, `ExistsValidator`\n* Supports data widgets like `DetailView`, `ListView`, `GridView` using `ActiveDataProvider`\n* Debug panel with explain is able to show SQL and NoSQL requests.\n* [Migrations](docs/MIGRATIONS.md)\n* Nosql [`Query`](docs/NOSQL.md#query) and [`Command`](docs/NOSQL.md#command) [for performing nosql requests](docs/NOSQL.md)\n* [Lua validator](docs/LUA-VALIDATOR.md)\n* [Rbac db source](docs/RBAC.md)\n* [Session](docs/SESSION.md) \n* [Cache](docs/CACHE-EXPIRATIOND.md) (by [expirationd](https://github.com/tarantool/expirationd), [docs](https://tarantool.github.io/expirationd/))\n* [I18n translate source](docs/I18N.md)\n* [Gii code generator](docs/GII.md) (ActiveRecord models, controllers, search models)\n* [Log target](docs/LOG.md)\n\nFuture plans\n------------\n\n* Transactions\n* Connection slaves support\n* Queue\n\n\nRunning tests\n------------\n\n* First of all you need to run tarantool and bind it to localhost:3301\n\n```bash\n$ docker run --name mytarantool -p3301:3301 -d tarantool/tarantool:2.4.1\n```\n* Install php deps\n```bash\n$ sudo apt install php7.3-mbstring php7.3-dom php7.3-intl # specify php version \n```\n\n* Install vendor\n```bash\n$ php composer install\n\n$ php7.3 composer.phar install # or specify php version \n```\n\n* Run phpunit tests\n```bash\n$ php ./vendor/phpunit/phpunit/phpunit --bootstrap ./tests/_bootstrap.php --configuration ./phpunit.xml.dist \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhthnz%2Fyii2-tarantool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmhthnz%2Fyii2-tarantool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhthnz%2Fyii2-tarantool/lists"}