Questions tagged «database»

Drupal提供了一个标准的,与供应商无关的抽象层,用于访问数据库服务器。

4
如何配置具有4g内存的服务器以运行drupal 7
我正在具有4 GB内存的新服务器上安装Drupal 7。我想获得一些关于如何正确配置它,给MySQL多少内存以及给PHP多少内存的提示。我发现的一件事是,在Zend服务器上运行Drupal 7的速度比在普通Apache服务器上运行Drupal 7的速度快三倍。(我认为这与操作码缓存有关。我注意到devel模块使用了三分之一的内存。 可以和我分享您的配置吗?

1
尝试使用EntityFieldQuery从自定义内容类型获取COUNT(*)
如何从Drupal 7中的查询中检索“ count(*)”?查询需要包括自定义内容类型和自定义字段。 笔记 自定义内容类型:员工 自定义字段名称:field_employees_email 作为说明,我希望添加 在哪里field_employees_email ='example@example.com' 查询... 到目前为止,我有类似的东西: $query = new EntityFieldQuery; $result = $query ->entityCondition('entity_type', 'node') ->propertyCondition('status', 1) // Getting published nodes only. ->propertyCondition('type', 'employees') //Getting 'employees' type only. // How do I include custom field as part of query? ->execute(); 还有,有没有比这更简单的方法 $total = count($result); 从查询返回COUNT(*)?
9 7  database 

2
如何将数据库从MyISAM转换为InnoDB?
我将把500MB数据库的所有表从MyISAM转换为InnoDB,以查看它是否将改善繁忙的Drupal 6站点的整体性能。我想知道什么是最好的(即最安全/最容易/最快)的转换方式。
9 database 


5
如何获取上次插入的记录ID?
我想获取数据库表中最后插入的行的记录ID。我正在尝试使用db_last_insert_id(),但是它引发了异常。 调用未定义的函数 db_last_insert_id() 如何获取上次插入的记录ID?
9 7  database 

2
迁移失败:on子句不明确
我是migrate第一次使用该模块,并且已经使用过db_selectapi了一点,但遇到了错误。 我正在尝试将一些旧标签转换为drupal分类法。当我浏览该/admin/content/migrate页面时,它会正确执行查询并显示应迁移的正确行数。但是,当我实际尝试运行导入时,出现此错误: 迁移因源插件异常而失败:SQLSTATE [23000]:违反完整性约束:1052 on子句中的列'labelId'不明确 这是我在LabelMigration类中拥有的代码: $this->map = new MigrateSQLMap($this->machineName, array( 'labelId' => array('type' => 'int', 'not null' => TRUE) ), MigrateDestinationTerm::getKeySchema() ); $query = db_select('migrate_account_label', 'l') ->fields('l', array('labelId', 'label')) ; $query->leftJoin('migrate_asset_labels_membership', 'lm', 'l.labelId = lm.labelId'); $query->leftJoin('migrate_asset', 'a', 'lm.assetId = a.assetId'); $query->addExpression('count(*)', 'num'); $query->condition('a.type', 'B'); $query->groupBy('l.labelId'); $query->groupBy('l.label'); $this->source = new …
9 7  database  migration 

3
如何每小时将1000个节点上载到一个在线drupal 7站点并避免死锁?
不久之前,我在这里写了有关死锁的信息:PDOException:SQLSTATE [40001]:序列化失败:1213尝试获取锁时发现了死锁;没有找到死锁。 尽管开发团队竭尽全力,我们仍然会收到如下错误: PDOException:SQLSTATE [40001]:序列化失败:1213尝试获取锁时发现死锁;默认值为0。尝试重新启动事务:INSERT INTO {location_instance}(nid,vid,uid,genid,lid)VALUES(:db_insert_placeholder_0,:db_insert_placeholder_1,:db_insert_placeholder_2,:db_insert_placeholder_3,:db_insert_placeholder_4);数组([]在(_)位置的(_974)数组([]:db_insert_placeholder_0] => 1059 [:db_insert_placeholder_1] => 1059 [:db_insert_placeholder_2] => 0 [:db_insert_placeholder_3] => cck:field_item_location:1059 [:db_insert_placeholder_4] => 1000 /var/www/website.com/sites/all/modules/location/location.module)。 尽管该示例中有特定的表,但在其他表上仍会出现此错误。 这是我的情况。我参加了一个大型大学项目。在任何给定时间,每天都有50,000名校园居民使用该系统。除此之外,我还将手动和通过自定义模块代码(从旧大学数据迁移)将1000千个内容项迁移到这个新的Drupal 7站点。 这个错误正在使我们丧命,以至于如果Drupal无法处理这种类型的负载,我们几乎已经准备好废除过去几年的工作,并进行其他工作。 但这或多或少是我的问题-Drupal如何处理这种类型的负载?如何组织我的工作流程以处理这么多的活动?这是Drupal问题吗?数据库问题? 具体来说,我正在运行Ubuntu,LAMP堆栈16GB RAM。我愿意接受任何建议,无论是与Drupal有关,与数据库有关,与服务器配置有关,还是在Drupal的能力范围内可以工作的其他工作流程,如果有丰富的活动经验,请随时提出任何建议。

3
LIKE子句在钩子查询alter中不起作用
我试图用Drupal 7中的LIKE子句替换默认搜索。我试图根据向现有查询中添加OR条件来更改查询: function MYMODULE_query_node_access_alter(QueryAlterableInterface $query) { foreach ($query->getTables() as $table) { // LIKE for search results. if ($table['table'] == 'search_index') { // Get the query args and then the search term $args =& $query->getArguments(); $search = $args[':db_condition_placeholder_1']; // Get a reference to the existing query conditions. $conditions =& $query->conditions(); // …
9 7  database 

5
如何在不覆盖内容的情况下更新Live drupal服务器?
我有一个在线的网站,人们正在积极地添加内容。但是,我不得不在开发环境中进行一些更改,这花了我几个星期的时间。所做的更改要求安装新模块,并删除旧模块,这当然更改了数据库的内容和结构。 我的问题是如何将该网站上传回实时环境并更新数据库,而不会覆盖过去两周内添加的新用户的新内容?

2
如何在Drupal中执行存储过程?
我有一个网站,它在财务数据方面做很多工作。大多数情况下,它涉及对大量数据的操作。因此,我发现在mysql存储过程中执行这些操作很有用。我在数据库中存储了过程。我想知道如何在drupal中执行存储过程?有没有什么好的方法可以在drupal中执行存储过程?drupal一般如何处理存储过程?还是我们只需要使用PHP执行存储过程?
9 database 


3
如何在日期中使用EntityFieldQuery?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 10个月前关闭。 我需要选择具有特定日期的实体。 以下内容应如何格式化。我是否需要解析2010年5月15日 还有我如何得到错误页面。 function events2() { $query = new EntityFieldQuery(); $query ->entityCondition('entity_type', 'node', '=') ->propertyCondition('status', 1, '=') ->propertyCondition('type', 'event') ->propertyCondition('field_event_date', '15-May-2010', '='); $result = $query->execute(); return $result; }
9 database 

2
如何以编程方式获取带有术语的节点
我有词汇和自定义内容类型,其中有字段术语参考。 如何在模块中获取特定术语的所有节点? 像这样吗 这行不通。 $field = field_info_field('field_game'); $results = new EntityFieldQuery; $results->fieldCondition($field, 'field_game_tid', '5') ->execute(); $nids = array(); foreach($results as $result) { $nids[] = $result->nid; } $nodes = node_load_multiple($nids);
9 7  database 

2
如何使外部数据库对视图可用?
在这里和其他地方,有关在Drupal中使用外部数据库的讨论很多。我从中发现的是: 处理数据库表中数据的最佳方法是使用“视图”模块。我已经安装并开始使用它,发现它非常适合处理我添加到站点数据库中的表。 使视图与不是由Drupal创建的表一起使用的简单方法是使用数据模块。该模块将站点数据库中任何未被Drupal使用的表都视为“孤立表”,并允许在单击按钮时“采用”该表。 显然,“表向导”模块提供了一种处理不在站点数据库中的表的方法。但是该模块不适用于Drupal 7。 “数据库设置”部分中的“ settings.php”文件包含有关如何定义该站点可以使用的其他数据库的详细文档。但是,以这种方式定义数据库时,其表不会显示在“数据”模块中的孤立表列表中。 我对其中一个站点的“ settings.php”文件中的数据库定义所做的更改是: $databases = array ( 'default' => array ('default' => array ( 'database' => 'db_local', 'username' => 'db_local', 'password' => '_________', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), 'extra' => array ('default' => array ( …
8 database 

3
网站性能,缓存无法正常工作
我正在使用性能日志记录模块。在屏幕快照上方,有一件奇怪的事我注意到在每个页面上都插入Cache_bootstrap。当您转到任何页面(管理主题和前端主题)时,请插入缓存,然后删除缓存正在运行。这意味着在每个页面中设置和销毁了缓存,实际上没有缓存发生。我该如何进一步阐述呢?为了诊断该问题,因为当前我正在研究网站的性能。 我还在使用New Relic进行性能检查。它还表明数据库负载很高。 和my.cnf信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.