Добрый день!
Мы обнаружили, что после установки клиентом нашего приложения не устанавливаются метообновления, и, соответственно, приложение не работает должным образом.
Посмотрев журнал установки, мы заметили, что метка времени у клиента на момент установки приложения равна 1638946640, а метка времени имеющегося файла с метообновлениями меньше (1635761604).
Таким образом, возникает два вопроса: как формируется метка времени на момент установки приложения и как тогда именовать файлы метообновлений, если заранее не известно, какая исходная метка времени будет у будущего клиента, установившего впервые наш продукт? И как избежать таких ситуаций в будущем?
Пока не можем сообразить, где и в чем косяк.
Помогите разобраться, пожалуйста. Спасибо!
4 комментария
Мета-обновления не срабатывают при первой установке плагина.
Для этого есть файл install.php
Особенность мета-обновлений в том, что они помогают обновиться до следующей версии (удалить лишние файлы, внести правки в БД и т.п.).
Временная метка как раз помогает отследить нужно ли выполнять мета-обновление или нет.
Исходная метка будет либо в момент установки плагина, либо в момент установки последнего мета-обновления.
Соответственно, когда пользователь обновит плагин через Инсталлер, выполнятся все мета-обновления с меткой больше исходной.
Спасибо за ответ!
В таком случае не ясно, как следует решить проблему.
Ситуация условно следующая: пусть есть таблица `table`. Допустим, в 1-й версии приложения эта таблица имеет только лишь поле `name`. В следующей версии приложения добавляется поле `value` посредством файла метообновления. При обновлении продукта это поле создатся у пользователя, все в порядке.
Но у другого пользователя, который установит продукт впервые, поля `value` не будет в таблице, т.к. файл метообновления не будет выполнен в таком случае. Такая ситуация неверна, и как раз происходит у нас. Кроме того, судя по документации Webasyst, нельзя изменять таблицы путем изменения файла db.php.
Или все-таки можно (нужно) в данном случае изменять db.php для того, чтобы как раз у новых пользователей была актуальная таблица?
Да: в новой версии продукта нужно сделать оба изменения:
Думаю, я уже ответил сам на свой вопрос)