예제 #1
0
        /// <summary>
        /// Configure the database
        /// </summary>
        private void ConfigureDb()
        {
            Logger.Debug("entered ConfigureDB");
            if (_platform == null)
            {
                return;
            }

            _dbConnection = _platform.GetSqlConnection(StoreAndForwardDb);


            if (_dbConnection != null)
            {
                Logger.Debug("_dbConnection not null");
                _dbConnection.TraceListener = new SqLiteConnectionTraceListener();

                _dbConnection.CreateTable <DbMessageParameter>();
                _dbConnection.CreateTable <DbMessage>();
                _dbConnection.Execute(
                    "CREATE TRIGGER IF NOT EXISTS DbMessage_InsertTrigger AFTER INSERT ON DbMessage BEGIN update DbMessage set CreateTm = datetime('now','localtime') where rowid = new.rowid; END;");
            }
            else
            {
                Logger.Debug("_dbConnection is null");
                throw new InvalidOperationException("Failed to establish database connection");
            }
        }