Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Ridje opened this issue Mar 19, 2018 · 8 comments

Comments

@Ridje
Copy link
Contributor

Ridje commented Mar 19, 2018

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

@EvilBeaver
Copy link
Member

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

@Ridje
Copy link
Contributor Author

Ridje commented Mar 19, 2018

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

@EvilBeaver
Copy link
Member

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

@Ridje
Copy link
Contributor Author

Ridje commented Mar 19, 2018

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

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

@Ridje
Copy link
Contributor Author

Ridje commented Mar 19, 2018

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

@EvilBeaver
Copy link
Member

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

@240596448
Copy link
Contributor

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

@EvilBeaver
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants