Сломались Views3 при апдейте с rc3 на release 3.0

Прислано: v1adimir@drupal.org

вт, 27/12/2011 - 03:23

Другие статьи по теме:

При апдейте при помощи drush сломались Contextual Filters. Чуть позже будет пара скриншотов. Ни решения, ни issue такого пока не обнаружил. Еще изучаю проблему.

В общем, имейте в виду!

[ДА! РЕШЕНО] Массовое обновление (UPDATE) записей БД в Drupal 7 одним запросом

Прислано: OldWarrior

ср, 14/12/2011 - 11:33

Столкнулся с необходимостью массовой обработки записей в БД Drupal 7 одним запросом.

Как известно, вызовы db_query() для UPDATE, INSERT, DELETE в D7 теперь считаются deprecated и заменены на db_update(), db_insert() и db_delete().

Допустим, с db_delete и db_insert особых вопросов не возникло - в случае с множественной обработкой рядов. А вот с db_update проблемы.

Ситуация такая, что нужно выполнять обновление разных полей с разными primary key и опять же разными (отличными) значениями. Одним запросом.

На D6 я решал вопрос так:

<?php
  $query 
'INSERT INTO {some_table} (id, field1, field2, field3, field4) VALUES ';
  foreach( 
$rows AS $row )
    
$query_values[] = '(\''.$row['id'].'\', \''.$row['field1'].'\', \''.$row['field2'].'\', \''.$row['field3'].'\', \''.$row['field4'].'\')';
  
db_query($query implode(','$query_values) . 
    
' ON DUPLICATE KEY UPDATE field1 = VALUES(field1), field2 = VALUES(field2), field3 = VALUES(field3), field4 = VALUES(field4)');
?>

То есть, тут вся фишка в условии "ON DUPLICATE KEY UPDATE ... ", это позволяет избежать ошибок при дублировании primary key.

Собственно вопрос: как это реализовать в случае с db_update() в D7?
Ведь как условие или выражение "ON DUPLICATE KEY UPDATE ... " вроде тут не пристегнёшь.
В цикл же загонять не хочется, тяжело будет...

И второй вопрос (на крайний случай): кошерно ли (по меркам Друпала) будет произвести такую проверку:

Обновление дизайна Drupal-приложения

Прислано: Dark_Neo

чт, 20/10/2011 - 17:48

Доброе %время_суток%.

Есть ли какой-нибудь инструмент, который бы позволил легко переносить изменения со стенда разработки на боевую площадку.
Имею следующую ситуацию: есть стенд разработки, где непосредственно выполняется разработка, стенд тестирования и непосредственно, продакшн.

После завершения спринта изменения сначала необходимо переносить на тестовый, затем на боевой. Данные с боевого никак терять нельзя, но изменения накатывать как-то нужно, т.е. простой заменой файлов и базы дело не обойдется.

Есть ли какое-нибудь готовое решение?

[РЕШЕНО] Drupal ругается на UPDATE

Прислано: Cloudiya

ср, 28/09/2011 - 10:48

Здравствуйте!

При попытке обновить записи в таблице с использованием запроса

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

выдается ошибка "You have an error in your SQL syntax и т.д.",
но если сделать так:

UPDATE table_name
SET table_name.column1=value, table_name.column2=value2,...
WHERE table_name.some_column=some_value

то все срабатывает нормально.
Мне конечно не сложно дописывать имена таблиц, но что делать с функциями, использующими UPDATE, например drupal_write_record? Из-за чего может возникать такая ошибка?

Множественный UPDATE

Прислано: dudin.ie

ср, 20/04/2011 - 20:08

Другие статьи по теме:

Можно ли заменить конструкцию вида:

<?php
$count 
1;
$nids=array('1','5','12','21','55');
foreach (
$nids as $nid) {
  
db_update('nweight')
    ->
fields(array('weight' => $count))
    ->
condition('nid' $nid)
    ->
execute();
  
$count++;
}
?>

одним запросом к базе данных?

А то в моем случае массив $nids может состоять и из 100 элементов и больше.
100 апдейтов за раз делать не хочу *)

[РЕШЕНО]Запрет обновления конкретного модуля, темы, как?

Прислано: Softovick

вт, 15/02/2011 - 08:47

Други, подскажите.
Есть ли способ после скачивания с drupal.org модуля или темы, что-то изменить, возможно в .info, чтобы Update не сигналил и не пытался обновить этот модуль/тему с d.org, а оставил ее как есть. Слегка поменяется шаблон и css.
Есть вариант конечно полной замены старого названия темы на новый во всех файлах темы. Но есть ли другой способ? И да, подтемы этой темой не поддерживаются.
UPD:
Выяснилось, что в .info модуля или темы есть раздел, где присваивается переменная project. Если установить значение этой переменной в свое значение, которого нет на d.org, то обновляя видеть он перестанет.

Нужно ли делать Update ?

Прислано: natasha.ferrand@gmail.com

чт, 20/01/2011 - 19:40

Привет всем !

Я не могу найти информацию о том, нужно ли делать update все время ? Т. е. могу ли я установить все модели и как только я удовлетворена результатом, когда все работает отлично, можно ли отключить Update ? Т. к. все время возникают проблемы при переустановке модулей и core.

Спасибо !

update.php - файл не найден

Прислано: IrinaStasuk

вс, 19/12/2010 - 13:06

Другие статьи по теме:

Бьюсь уже пару месяцев, но не понимаю, почему у меня на сайте не открывается страница http://мой сайт/update.php. Из-за этого не смогла обновиться на новую версию - update.php не запускается. Отноложила решение проблемы до декабря, когда можно уделить этому больше времени, обыскала весь форум, заменила update.php, скачав его с drupal.org (соответствующая версия) - все равно "Вы попытались получить доступ к адресу ..., который сейчас недоступен".

Что я делаю не так? (пятая версия, мультисайтинга нет, нахожусь под главным админом)

Кто с MySQL на ты? Есть вопрос по поводу Insert/Update

Прислано: Siegfrid@drupal.org

вс, 28/11/2010 - 21:20

Заметил, что у меня очень медленно выполняются все операции с диском, а именно Insert, Update и Delete. В среднем они занимают где то 0,2 - 0,5 c., Иногда доходит до секунд. Нагрузка маленькая, оперативки более чем достаточно - 600Mb под MySQL. Пользую таблицыа InnoDB (my.cnf в аттаче).

Гуру, подскажите, куда смотреть и что править.
Буду признателен за помощь!

Проблемы с CSS после обновления на Drupal 6.19

Прислано: DSJ

пн, 15/11/2010 - 04:02

Другие статьи по теме:

После обновления Drupal до версии 6.19 (до этого была 6.15) при включении в настройках "Производительность" -> "Оптимизировать CSS-файлы" CSS вообще отсутствуют, причём только для моей темы оформления, со стандартными всё в порядке. Что изменилось в этой версии Друпала касательно шаблонов и в каком места следует искать причину?

Хук на публикацию ноды или ее создание

Прислано: noway

вт, 17/08/2010 - 08:08

Другие статьи по теме:

Всем привет!

Мне надо отлавливать событие первичной публикации ноды или ее создания (часть нод создаются, но публикуются позже)

Я пользую hook_nodeapi и там $op=='save' || $op=='update' но как я понимаю update может срабатывать не только при перезаписи ноды (ибо у меня по крону он с десяток раз срабатывает).

Как вот сделать так? я храню список уже опубликованых нод, чтобы мое событие срабатывало однократно. Но почему-то у меня в событие влетает куча старых нод, для которых никакого обновления не происходило.

Где загвоздка? спасибо!

db_query + UPDATE + поле auto_increment = неожиданное приращение

Прислано: Ctrl

чт, 29/07/2010 - 14:29

Другие статьи по теме:

Всем, удачного дня!

Наткнулся на странное явление.
При написании модуля использовал такую строку:
db_query("UPDATE {modulename_works} SET work_name = '%s', work_norm = %f WHERE work_id = %d", $work_name, $work_norm, $work_id);
Интересно то, что когда она отрабатывает, то work_id изменяется на +1
Это поле в базе со свойством автоинкремента, однако если это делать через консоль или phpmyadmin, то id остается прежний

Не понимаю, почему используя запрос через Друпал происходит прибавление значения?
%)

И снова update до 6.17

Прислано: egorovanton

ср, 02/06/2010 - 19:31

Другие статьи по теме:

Все бегом обновляться http://drupal.org/node/816290

Уязвимости кривого апдейта 6.16

Прислано: mak-vardugin

пн, 15/03/2010 - 22:46

Другие статьи по теме:

Провел тест уязвимостей хорошо обновленного и плохо обновленного сайтов (с 6.15 до 6.16) сканером XSpider 7.7 Build 3253, результат приводить не буду. Но те кто плохо обновился рискуют остаться без сайта. Прога выявляет 2 возможности для SQL инъекций. Так что обновляйтесь внимательно.

Отключение модулей во время обновления БД

Прислано: Siegfrid@drupal.org

сб, 13/03/2010 - 13:26

Другие статьи по теме:

У многих возникает задача обновить старую версию ядра на новую. Если следовать мануалу, то необходимо отключить все свои и дополнительные модули, прежде чем начать делать update. Выполнять это ручками не кашерно, да и не все так хорошо знают SQL, поэтому, тем, кто не в ладах с базами данных может немного облегчить эту задачу этот мануал:

Прежде чем начинать делать update не забудьте сделать бекап!

1. коннектимся к вашей БД:
mysql -u <имя пользователя БД> -p<пароль> <название БД>

1. Создаем временную таблицу backup_system
CREATE TABLE `backup_system` (
`filename` varchar(255) NOT NULL DEFAULT '',
`name` varchar(255) NOT NULL DEFAULT '',
`type` varchar(255) NOT NULL DEFAULT '',
`status` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`filename`),
KEY `modules` (`type`(12),`status`,`filename`),
KEY `type_name` (`type`(12),`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

2. Копирование данных по активным модулям
INSERT INTO backup_system (filename, name, type, status)
SELECT s.filename, s.name, s.type, s.status
FROM system s where s.`filename` Like 'sites/%' AND status = 1 and s.type = 'module';

3. Отключаем все модули
UPDATE system s SET s.status = 0 where s.`filename` Like 'sites/%' AND s.status = 1 and s.type = 'module';
(если надо отключить еще и темы, то просто надо убрать and s.type = 'module')

4. Далее обновляем ядро, выполняем скрипт http://yoursite.com/update.php
Если все ок, то продолжаем дальше

5. Включаем обратно все модули
UPDATE system s, backup_system bs SET s.status = 1

RSS-материал

Новое на сайте

Ссылки партнёров