我有一个目录结构,其中某些文件夹数据有子目录.在某些时候,我希望一次删除所有这些,我已经为node.js 安装了其他很棒的rimraf包
我的代码到目前为止:
var dataPath === Path.normalize(__dirname + '/backend/data/');
rimraf(dataPath, function(error) {
console.log('Error: ', error);
});
Run Code Online (Sandbox Code Playgroud)
我已尝试使用/ backend/data /和/ backend/data /*,但似乎没有做到这一点 - 第一个删除整个数据文件夹,第二个触发错误'无法删除null'
我想我可以扫描主目录,找到所有子文件夹并逐个删除它们,但如果可以使用rimraf或类似的包完成,我宁愿一起去.
我已经花了几个小时尝试解决此问题。Google和Stackoverflow都没有太大帮助。因此,在这里欢迎任何建议。
我正在尝试在更新两个相关的表时对事务应用回滚逻辑:
一般的代码是:
// ...
$em = $this->getDoctrine()->getEntityManager();
$em->getConnection()->beginTransaction();
foreach($dataArr as $data) {
$userObj = $em->getRepository('AcmeBundle:User')->find($userId);
$userObj->setActive(1);
$em->persist($userObj);
$em->getConnection()->commit();
}
$storeObj = $em->getRepository('AcmeBundle:Store')->find($storeId);
$storeObj->setIsOpen(1);
$em->persist($storeObj);
$em->getConnection()->commit();
try {
$em->flush();
$em->clear();
} catch(Exception $e) {
$em->getConnection()->rollback();
$em->close();
throw $e;
}
Run Code Online (Sandbox Code Playgroud)
我的PDO驱动程序已启用,无需事务即可进行更新,按预期进行,但是一旦我执行beginTransaction()并尝试进行commit(),则行不通,并且我得到没有活动的事务。例外。
一些消息来源建议仅使用commit()而不使用persist(),但这没有任何区别。我在这里可能做的事情确实很愚蠢,但是我只是看不到它是什么。
我们的项目使用FOSUserBundle和Symfony 2.5.我们需要在登录后向用户会话添加自定义数据,该数据驻留在数据库中并且是动态的,但应该在所有模板和应用程序内的任何位置访问.
我正在考虑LoginManager.php从/ user-bundle/Security覆盖该类,但我也不完全确定这是否是最好的选择.
看起来这个logInUser()方法是添加我们的自定义更改的地方,因为它实际上设置了令牌,但是再次,如果有更聪明的方法,我肯定会使用它.
symfony ×2
doctrine ×1
node.js ×1
pdo ×1
php ×1
rollback ×1
session ×1
symfony-2.5 ×1
transactions ×1