Как очистить базу на этапе установки
На любом шаге установщика достаточно добавить параметр clear_db=Y в адресную строку и база данных будет очищена в процессе установки 1с-Битрикс.
Больше статей и материалов по web-разработке в tg-канале — подписывайтесь!
4 комментария “ Как очистить базу на этапе установки ”
Очищена от чего?
От таблиц битрикса если он был ранее установлен в эту же базу. Без параметра установщик попросит пользователя очистить ее самостоятельно.
Как удалить базу и переустановить 1C bitrix
Вам нужно загрузиться в режиме удаленного помощника и подключиться к серверу по ssh на порт 33 с паролем, который вы указали при загрузке:
ssh -p 33 root@
Далее выполните команды:
/etc/init.d/mysqld stop; /etc/init.d/apache_L stop rm -rf /var/www/local/htdocs.new/* rm -rf /var/lib/mysql/sitemanager* cp -rp /mnt/ro_disc/recover/rw_disc/chroot_thttpd_L/var/www/local/htdocs.new/* /var/www/local/htdocs.new/ /etc/init.d/mysqld start ; /etc/init.d/apache_L start
если есть проблемы со стартом mysqld, то дополнительно
rm -rf /var/lib/mysql/*
после чего единоразово перезагрузить сервер с параметром p=пароль nc=1 nm=1 recover=1
Очистка и удаление таблиц в битрикс
Порой возникает необходимость удалить все данные таблицы, либо саму таблицу.
Оказывается в API битрикс есть удобные функции.
Не рекомендуется применять к таблицам ядра системы Битрикс!
Удалить таблицу (drop table)
$connection = \Bitrix\Main\Application::getConnection(); $connection->dropTable('table name');
Очистить таблицу (truncate table)
$connection = \Bitrix\Main\Application::getConnection(); $connection->truncateTable('table name');
Как очистить базу рассылки от «мертвых»адресов на «Битрикс» ?
Предлагая посетителю сайта ввести в регистрационную форму адрес электронной почты, мы получаем в базе определенную толику «мусорных» адресов: намеренно несуществующих или введенных с ошибками. Выполняя рассылки по таким одресам, сервер впустую тратит ресурсы, причем с течением времени эта ситуация усугубляется. Как сделать так, чтобы сообщение об ошибочном адресе письма автоматически удаляло адрес из базы рассылки?
1. Добавим в систему почтовый ящик, на который возвращаются письма от сервера
2. Настраиваем модуль «Почта»
Для этого создаем новое правило. В нем мы будем использовать поле «Условие на PHP скрипте», работающее с массивом $arMessageFields. В нем передается все содержимое письма. Служебное сообщение от сервера содержится в нем как префикс и имеет вид:
This is a MIME-encapsulated message.
—B2FB437C30.1218522354/myserver.com
Content-Description: Notification
Content-Type: text/plain
This is the Postfix program at host myserver.com.
I’m sorry to have to inform you that your message could not
be delivered to one or more recipients. It’s attached below.
For further assistance, please send mail to
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The Postfix program
: host email-com.mr.outblaze.com[208.36.123.16] said: 550
: No thank you rejected: Account Unavailable: Possible
Forgery (in reply to RCPT TO command)
Поскольку невалидный адрес передается в письме после сообщения «The Postfix program», то обрабатывать его следует переменной $arMessageFields[‘MESSAGE_TEXT’] $arMessageFields[‘BODY’].
3. Вставляем в правило «Условие на PHP скрипте»
Теперь, чтобы правило исключало ошибочный адрес из базы, добавим в поле почтового правила «Условие на PHP скрипте» код:
if (!CModule::IncludeModule(«subscribe»))
return;
if (preg_match(«#The Postfix program[^<]+<([^>]+)>#»,$arMessageFields[‘MESSAGE_TEXT’],$regs))
$email = $regs[1]; // адрес, который надо исключить из рассылки
$rs=CSubscription::GetByEmail($email);
$f = $rs->Fetch();
CSubscription::Delete($f[‘ID’]); // удаляем адрес из рассылки
return true;
>
else
return false;
Готово!