@genericname1
Does this happen specifically when copying something inside BAS? In the script panel where the actions are or from the browser?
What version of BAS are you using?
Please record a video demonstrating the problem so that we can understand what is happening.
Несовместимость одновременной работы 28 и 29 BAS
-
Если запущен бас с движком от старых версий, включая 28 движок, то уже невозможно запустить 29. И наоборот.
Либо одна версия, либо другая. Мало того, если будет запущена 29, то она изменит версию и формат базы. И откатиться уже будет проблематично, без потерь данных.На данный момент из-за этого нет никакой возможности перейти на новую версию движка.
Единственный простой пока выход, кмк, - это для новой версии 29 использовать другую папку установки монго (либо выбирать с какой версией монго работать), либо полностью отказываться от старых версий (в нашем случае это не возможно) на одном и том же сервере.
-
Переписали бы на чистые вызовы с питона или njs.
-
@Valerax особенность монго была в том, что она из коробки и была совместима с любой версий БАСа. Для "запросов" у нас есть работа с базой постгресс. Но монго используется для технических вещей, типа авторизации, сохранения ключей и работы с профилями для новичков или для мелких задач. Так же используется в других сопутствующих программах на БАСе в единой базе данных. Все переписывать и адаптировать "запросы" под разные версии монго - нецелесообразно.
Да и в любом случае это вообще никак не решает проблему. Запустить два приложения на разных движках нельзя. Толку от переписанных вызовов, если старая версия интерфейса тупо вообще не будет работать с БД - бд будет отключена и к ней доступа для пользователя не будет, а новая версия интерфейса есть лишь в новой.
-
@Ajshma, в BAS 28.9.3 сервер MongoDB обновлён с версии
2.6.6до8.0.4, а C++ драйвер сlegacy 1.0.0-rc3до4.0.0. Из-за перехода с механизма храненияMMAPv1наWiredTigerфайлы старой и новой баз совершенно не совместимы. Кроме того, изменён wire-протокол и полностью переработан API, поэтому сервер и драйвер разных версий также не могут взаимодействовать между собой.
При запуске новой версии можно сохранить старую базу без изменений и просто скопировать из неё данные в новую. Тогда можно будет запускать приложения с разными версиями одной БД, но не одновременно. С откатом версии не будет проблем, в старой версии БД просто останутся данные до переноса (если вы их не меняли).

Старая и новая версия БД могут работать одновременно, но без взаимодействия друг с другом, для этого у них должен быть разный ID. Данные из разных версий БД можно переносить с помощью бэкапов или импорта/экспорта CSV. Чтобы все приложения работали с одной БД и взаимодействовали между собой, они должны использовать одну версию БД (старую или новую).
-
@GhostZ так в том то и суть. Один проект но с разными версиями - работать не может одновременно!
То есть новая версия полностью исключает теперь совместимость работы с БД разных версий одного проекта или других проектов, которые работают с одной и той же базой. Теперь варик только один - готовить отдельную ветку и нытьем да катаньем переводить клиентов на нее. -
@111cbt111, if you don't use a database, there won't be any problems. And if you just use a database, there won't be any problems either. You just need to transfer data from the old database to the new one, and this is done with the click of a button. The only problems will be if you want to use one database in old and new versions.