addoptify / sugarcrm-database
此包最新版本(0.2.2)没有可用的许可信息。
0.2.2
2017-11-13 23:27 UTC
README
为 SugarCRM 7.5 及以上版本提供增强的数据库管理
作者:Emil Kilhage emilkilhage@gmail.com
* Adds support for transactions for MySQL InnoDB
* Throws errors instead of triggering a die(); upon database errors
安装
安装依赖
添加依赖
"require": {
// ...
"dri-nordic/sugarcrm-database": "~0.1.0"
// ...
},
更新依赖
composer update
确保启用 composer 自动加载
<?php // docroot/custom/Extension/application/Ext/Utils/composer.autoloader.php
require dirname(dirname(dirname(dirname(dirname(__DIR__))))) . "/vendor/autoload.php";
配置管理器
<?php // docroot/config_override.php
$sugar_config['dbconfig']['db_manager_class'] = 'DRI\\SugarCRM\\Component\\Database\\MySQL\\Manager';
用法
<?php
use DRI\SugarCRM\Component\Database\TransactionalManager;
try {
if ($db instanceof TransactionalManager) {
$db->beginTransaction();
}
// Do your stuff
if ($db instanceof TransactionalManager) {
$db->commit();
}
} catch (\Exception $e) {
if ($db instanceof TransactionalManager) {
$db->rollback();
}
throw $e;
}
实验性
在更多测试之前不要在生产环境中使用
此逻辑钩子通过挂钩到 api(v10),使所有 api 调用支持完整的交易支持
src/LogicHook/TransactionManager.php
将此逻辑钩子安装在与 ./copy 相同的路径中
copy/custom/Extension/application/Ext/LogicHooks/dri-transaction-management.php