Обработка sql-удаления объектов базы (чистка базы)


Простая и очень быстрая обработка для очистки базы путем непосредственного удаления записей из таблиц SQL (используется ADODB.Connection)

Простая и очень быстрая обработка для очистки базы путем непосредственного удаления записей из таблиц SQL (используется ADODB.Connection)

Зачастую тестовые базы клиентов (базы используемые для тестирования при приемке работ) со временем становятся основными. И возникает необходимость зачистить тестовые данные (документы, проводки) с возможностью оставить справочные данные, либо необходимость полной очитски базы. В связи с этим, наваял простенькую обработку, которая, пробегаясь по метаданным, получает физические имена таблиц SQL и зачищает непосредственно эти таблицы при помощи ADODB.Connection.

Основное приемущество обработки - скорость. Для примера, нетиповая база (50 рег.св., 50 документов, 50 справочников) на 4 Гб очищается примерно за 30 сек. Но эти показатели могут варьироваться в зависимости от количества объектов конфигурации, качества канала к sql-серверу и производительности sql-сервера.

Обработка работает в двух режимах: удаление только документов и удаление всех данных. В первом режиме удаляются все документы, очищаются все регистры накопления, бухгалтерии и расчетов + можно указать список регистров сведений, которые нужно зачистить вместе с документами, дабы избежать битых ссылок в регистрах. Во втором режиме помимо вышеперечисленного очищаются справочники, ПВХ, планы счетов, планы видов расчета (удаляются все элементы, кроме предопределенных) и все регистры сведений. Все объекты удаляются безвозвратно (если нет бэкапов sql-базы), так что пользуйте осторожно на свой страх и риск. По "F1" мини-хелп.

P.S. Моя первая публикация, так что по традиции: "сильно не пинайте".

 

Добавлена кнопка, по которой можно выбрать определенные справочники для удаления.

Файлы обработки:

-