Как удалить файловый архив?

Автор iNNer_VoIce, 29.04.16, 10:56:34

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

iNNer_VoIce

Был создан в ЦУК файловый архив в тестовом режиме. Прошло обновление Комплекса. Папка архива была случайно удалена, и вообще забылось, что все файлы сохранялись в архив.  Как удалить архив, если он пустой, но связи остались и выходит ошибка, что удаление невозможно?

Danila

А в ЦУКе визуально есть привязка?

iNNer_VoIce

Конечно. Создана папка Чертежи. Её то и нужно удалить в файловом архиве.

Danila

А у вас это как выглядит?

Если есть доступ к таблице БД, то это таблица [dsFileArchives]

Можно сделать delete в ней ;-)

iNNer_VoIce

При  удалении в БД таблицы [dsFileArchives] и её содержимого в разных вариантах выходит ошибка и причина - ссылки в другие таблицы. Перечень можно посмотреть.

Danila

04.05.16, 13:14:05 #5 Последнее редактирование: 04.05.16, 13:44:03 от Danila
Цитата: iNNer_VoIce от 04.05.16, 12:48:02
При  удалении в БД таблицы [dsFileArchives] и её содержимого в разных вариантах выходит ошибка и причина - ссылки в другие таблицы. Перечень можно посмотреть.

логично.. если файлы в архиве связаны, то есть таблица связей: dsArchMap, далее stFileOnArchive и stFileDescs и, в конце концов, stFSOs
Значит, надо удалять с головы - с stFSOs - оттуда цепочкой дальше пойдет и в stFileDescs, stFileOnArchive, dsArchMap.

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

Кстати, вариант, вручную через Лоцман связанные файлы удалить... Сначала определить список, а потом постепенно вычистить.

iNNer_VoIce

После неудачного удаления связей в таблицах базы. База была восстановлена. Путь в архиве Чертежи - просто пустая строка. Файл архива удален. Теперь все пишется в базу. Файлы восстановлены вручную.