Skip to content

Очищается папка перед выполнением функции СоздатьФайловуюБазу() #73

Open

Description

@Ridje

Здравствуйте. В процессе написания с помощью v8runner скрипта создания начального образа наткнулся на неприятное поведение. В порядке упрощения для себя указал каталог сборки текущий каталог скрипта. Вызываю СоздатьФайловуюБазу() и у меня удаляется обработка.
Мне не совсем ясно, это я затупил или нужно это учитывать всегда? Может быть такой случай обработать? Я так понимаю, что если КаталогБазы указать как какой-то диск, есть риск потерять все, что внутри и во вложенных папках. Сейчас там вызывается УдалитьФайлы(КаталогБазы, ".");.

Activity

  1. EvilBeaver commented on Mar 19, 2018

    @EvilBeaver
    Member

    Я вам больше скажу, если указать в любом другом коде УдалитьФайлы("C:*.*") то буде то же самое.

  2. Ridje commented on Mar 19, 2018

    @Ridje
    ContributorAuthor

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

  3. EvilBeaver commented on Mar 19, 2018

    @EvilBeaver
    Member

    Да, но это, вероятно, недостаток документирования. Каталог базы очищается, и мне кажется, что так и должно быть. Допускаю, что я мог что-то позабыть и теперь не совсем в теме. Не могли бы вы ткнуть меня в кусок кода (ссылкой на github) - о каком месте кода мы сейчас говорим?

  4. Ridje commented on Mar 19, 2018

    @Ridje
    ContributorAuthor

    Процедура СоздатьФайловуюБазу(Знач КаталогБазы, Знач ПутьКШаблону="", Знач ИмяБазыВСписке="") Экспорт

    Я мог бы сам заняться и подумать над этим, но надо выработать, что правильно в данном случае. Меня это смутило просто.

  5. Ridje commented on Mar 19, 2018

    @Ridje
    ContributorAuthor

    УдалитьФайлы(КаталогБазы, "*.*");

  6. EvilBeaver commented on Mar 20, 2018

    @EvilBeaver
    Member

    @Ridje я не вполне понимаю, а какое ожидается правильное поведение? Перед созданием базы каталог базы очищается. Разве это неправильно? Какое ожидается поведение?

  7. 240596448 commented on Jan 20, 2019

    @240596448
    Contributor

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

  8. EvilBeaver commented on Nov 3, 2022

    @EvilBeaver
    Member

    Приму пулреквест, который будет ругаться при непустой папке + флаг "СоздатьПринудительно"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions