|
![]() |
#1 |
Участник
|
Из Application.dbSynchronize. Перед super() прямым запросом к SQL серверу вьюху удаляем, если она существует. После super() удаляем таблицу и создаем вьюху (+ пустой триггер на insert/update/delete, на всякий случай).
Чтобы не пересоздавать вьюху при каждом вызове dbSynchronize, можно попытаться определить, что наша таблица будет синхронизироваться (есть параметр tableId в dbSynchronize, а также метод SqlSyncPending.tableTouched()). В результате, сейчас у нас не ловится случай только при синхронизации таблицы при импорте проектов, дальше разбираться лень, и так устраивает (после импорта синхронизируем вручную). |
|
|
За это сообщение автора поблагодарили: tolstjak (1). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от olesh
![]() Из Application.dbSynchronize. Перед super() прямым запросом к SQL серверу вьюху удаляем, если она существует. После super() удаляем таблицу и создаем вьюху (+ пустой триггер на insert/update/delete, на всякий случай).
Чтобы не пересоздавать вьюху при каждом вызове dbSynchronize, можно попытаться определить, что наша таблица будет синхронизироваться (есть параметр tableId в dbSynchronize, а также метод SqlSyncPending.tableTouched()). В результате, сейчас у нас не ловится случай только при синхронизации таблицы при импорте проектов, дальше разбираться лень, и так устраивает (после импорта синхронизируем вручную).
__________________
Александр |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|