如果我的代码在py.test下运行,我想连接到不同的数据库.是否有一个函数可以调用或我可以测试的环境变量会告诉我是否在py.test会话下运行?处理这个问题的最佳方法是什么?
给定父表"父"
????????????????????????
? PARENT_ID ? NAME ?
????????????????????????
? 1 ? bob ?
? 2 ? carol ?
? 3 ? stew ?
????????????????????????
Run Code Online (Sandbox Code Playgroud)
和父和一个(这里未指定的)属性表之间的多对多关系表'rel'
?????????????????????????
? PARENT_ID ? PROP_ID ?
?????????????????????????
? 1 ? 5 ?
? 1 ? 1 ?
? 2 ? 5 ?
? 2 ? 4 ?
? 2 ? 1 ?
? 3 ? 1 ?
? 3 ? 3 ?
?????????????????????????
Run Code Online (Sandbox Code Playgroud)
如何选择所有具有所有指定关系的父母?例如,使用样本数据,我如何找到具有属性5和1的所有父母?
编辑:相同的问题但需要完全匹配: SQL仅选择存在完全多个关系的行
Magento有一个庞大的代码库(6000多个php文件),使用复杂的自动加载逻辑,并且在XML中有很多配置.我正在寻找一个可以在这个代码库中获得它的小脑筋的IDE - 告诉我声明函数的位置,调用它的地方等等.有没有可以处理这个野兽的IDE?
编辑 - 添加示例
以下是如何以Magento方式加载产品的示例:
$product = Mage::getModel('catalog/product')->load($productID)
Run Code Online (Sandbox Code Playgroud)
获得帮助类看起来类似:
$helper = Mage::getHelper('catalog/product')
Run Code Online (Sandbox Code Playgroud)
此外,通常从模型中假设属性的getter和setter,这可能已经在某个地方的XML文件中声明,而不是在代码中声明.
我想创建一个购物车价格规则,当用户在我的Magento网站上完成流程时,可以为用户提供10%的订单折扣.
有一个方法,在这里直接插入规则到数据库中.这对我的口味有点侵略性.
我如何使用Magento方法解决这个问题?
据我所知,当一个脚本在Magento之外运行时,在触发事件时不会调用观察者.为什么?我如何解决它?
以下是引导我提出这个问题的原始问题.问题是永远不会调用将应用目录规则的观察者.事件发生,但观察者不接受它.
我正在运行一个加载Magento会话的外部脚本.
在该脚本中,我正在加载产品并抓住一堆属性.一个问题是getFinalPrice()不适用适用于产品的目录规则.
我正在做我知道的所有事情来设置会话,甚至一堆我觉得多余的东西.似乎没有应用这些规则.
这是一个测试脚本:
require_once "app/Mage.php";
umask(0);
$app = Mage::app("default");
$app->getTranslator()->init('frontend'); //Probably not needed
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton("customer/session");
$session->start(); //Probably not needed
$session->loginById(122);
$product = Mage::getModel('catalog/product')->load(1429);
echo $product->getFinalPrice();
Run Code Online (Sandbox Code Playgroud)
任何见解都表示赞赏.
这与这个问题密切相关,但增加了另一个要求.
给定父表"父"
???????????????????????
? PARENT_ID ? NAME ?
???????????????????????
? 1 ? bob ?
? 2 ? carol ?
? 3 ? stew ?
???????????????????????
Run Code Online (Sandbox Code Playgroud)
和父和一个(这里未指定的)属性表之间的多对多关系表'rel'
?????????????????????????
? PARENT_ID ? PROP_ID ?
?????????????????????????
? 1 ? 5 ?
? 1 ? 1 ?
? 2 ? 5 ?
? 2 ? 4 ?
? 2 ? 1 ?
? 3 ? 1 ?
? 3 ? 3 ?
?????????????????????????
Run Code Online (Sandbox Code Playgroud)
我怎样才能选择具有所有的家长都和只有一组指定的关系?例如,使用样本数据,我如何找到与属性5和1完全相关的所有父母?
更新:原来,这不是cron的功能.从命令行运行脚本时,如果它实际上有一个处理和与ElasticSearch通信的记录,我会得到相同的行为.
我有一个运行python脚本的cron作业,该脚本pyelasticsearch用于索引ElasticSearch实例中的某些文档.该脚本在命令行中运行正常,但是当通过cron运行时,会导致此错误:
没有为logger"elasticsearch.trace"找到处理程序
显然,有一些日志配置问题只会在cron下运行时出现,但我不清楚它是什么.任何见解?
这个问题 - 是否有可能在Mongo中得到一片?介绍如何在Mongo中获取切片.总之,使用聚合链$unwind,$skip,$limit,$unwind,$skip,$limit,和$group.
我的问题是如何在多个文档的集合上执行此操作.我想修剪每个嵌套数组.有一次,我$unwind,虽然,$skip并且$limit仅根据第一阵列的编号是有意义的.
有没有办法在集合中的每个文档上运行这种管道,而不是整个集合?我想在聚合管道中做什么呢?显然可以使用Map-Reduce,但这样做要比$unwind单独对每个文档运行n + 1个查询要慢.
编辑
以下是一个示例记录.
{
title: "Text Title"
vtitle: "Text Version Title"
text: [[["Book1, Chapter 1, Line 1", "Book1, Chapter 1, Line 2"],["Book 1, Chapter 2, Line 1"]],[["Book 2, Chapter 1, Line 1]]]
}
Run Code Online (Sandbox Code Playgroud)
这里的记录是一本大书的文本,存储为深度为3的数组.可以有许多不同vtitle的相同title,并且text可以非常大.
我想从许多书籍集合中的每本书中选择一小部分由索引标识的包含文本 - 返回每个文档的一小部分.
例如,输入参数[3,3]将返回如下记录:
{ "text" : ["Book 4, …Run Code Online (Sandbox Code Playgroud) 我正在为Magento(1.6)商店开发一个类别汇总报告.
为此,我希望获得一个产品子集的订单项集合 - 那些唯一类别ID(我创建的Magento产品属性)与特定值匹配的产品.
我可以通过基于目录/产品的集合来获得相关的结果集.
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('unique_category_id', '75')
->joinTable('sales/order_item', 'product_id=entity_id', array('price'=>'price','qty_ordered' => 'qty_ordered'));
Run Code Online (Sandbox Code Playgroud)
Magento不喜欢它,因为同一产品ID有重复的条目.
如何根据订单商品制作代码以获得此结果集?加入由属性过滤的产品集合是我的想法.这段代码没有做到这一点,因为它假设属性在Order Item上,而不是Product.
$collection = Mage::getModel('sales/order_item')
->getCollection()
->join('catalog/product', 'entity_id=product_id')
->addAttributeToFilter('unique_category_id', '75');
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.