Показать сообщение отдельно
Старый 17.03.2010, 16:03   #10  
olesh is offline
olesh
Участник
 
58 / 26 (1) +++
Регистрация: 02.04.2002
Адрес: Москва
Цитата:
Сообщение от tolstjak Посмотреть сообщение
Интересно как Вы обеспечиваете автоматическую синхронизацию ??
Из Application.dbSynchronize. Перед super() прямым запросом к SQL серверу вьюху удаляем, если она существует. После super() удаляем таблицу и создаем вьюху (+ пустой триггер на insert/update/delete, на всякий случай).

Чтобы не пересоздавать вьюху при каждом вызове dbSynchronize, можно попытаться определить, что наша таблица будет синхронизироваться (есть параметр tableId в dbSynchronize, а также метод SqlSyncPending.tableTouched()). В результате, сейчас у нас не ловится случай только при синхронизации таблицы при импорте проектов, дальше разбираться лень, и так устраивает (после импорта синхронизируем вручную).
За это сообщение автора поблагодарили: tolstjak (1).