Очистка базы Sugar Crm

Задача очистить копию рабочей базы Sugar Crm, чтобы потомм с ней можно было работать на тестовом сервере. Да и просто можно было отдать разработччикам и не боятся за информацию, которая может быть коммерческой тайной.

Можно попробовать сделать это вручную, чистя каждую из таблиц. Но в какой-то момент надоедает. Поэтому родился такой запрос

SELECT CONCAT('TRUNCATE TABLE ', TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'database' and TABLE_ROWS > 0 AND (TABLE_NAME LIKE '%accounts%' OR TABLE_NAME LIKE '%calls%' OR TABLE_NAME LIKE '%opportunities%' OR TABLE_NAME LIKE '%contacts%' OR TABLE_NAME LIKE '%emails%' OR TABLE_NAME LIKE '%leads%');

Смысл его простой — из информационной схемы MySQL получаем все таблицы из определенной базы данных. Выбираем только те что с записямми (но это не обязательно) и которые по имени попадают под маску. Тут же, в этом запросе формируем команды для очистки (TRUNCATE) этих таблиц.

Все что остается сделать — это запустить запрос. Скопировать результат его выполнения в файл. А потом этот файл выполнить на нужной базе.

Запись опубликована в рубрике Sugar CRM, Полезности, Работа с метками , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий