AXForum  
Вернуться   AXForum > Блоги > Kabardian
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

Оценить эту запись

X++: Настройка журнала базы данных для таблицы

Запись от Kabardian размещена 25.11.2014 в 15:56
Обновил(-а) Kabardian 20.01.2015 в 19:06

X++:
//Настройка журнала базы данных для таблицы
static void DatabaseLogSetup(Args _args)
{
    TableName   tableName = 'CustTable'; //TODO: 1. Указать название таблицы

    void createDatabaseLog(TableName _tableName, DatabaseLogType _logType, boolean _infoLog = true)
    {
        DatabaseLog     databaseLog = null;
        ;

        select databaseLog
            where databaseLog.logTable == tableName2Id(_tableName)
               && databaseLog.logField == 0
               && databaseLog.logType == _logType;

        if(databaseLog.recId ==0)
        {
            databaseLog.logType = _logType;
            databaseLog.logTable = tableName2Id(_tableName);
            databaseLog.insert();
            if(_infoLog)
            {
                info(strFmt("%1 - %2", _tableName, _logType));
            }
        }
    }
    ;

    if(tableName2Id(tableName)!=0)
    {
        //TODO: 2. Закомментировать ненужные виды логирования
        createDatabaseLog(tableName, DatabaseLogType::Insert); //Вставка
        createDatabaseLog(tableName, DatabaseLogType::Update); //Обновление
        createDatabaseLog(tableName, DatabaseLogType::Delete); //Удаление 
        createDatabaseLog(tableName, DatabaseLogType::RenameKey); //Переименование первичного ключа

        info(int2str(tableName2Id(tableName)));

        SysFlushDatabaseLogSetup::main();
    }
    else
    {
        info(strFmt("Таблица %1 не существует!", tableName));
    }
}
Размещено в Без категории
Просмотров 25982 Комментарии 0
Всего комментариев 0

Комментарии

 


Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:40.