public ClickHouseContext(string connectionSettings, IExtendedActions extendedActions)
        {
            _extendedActions = extendedActions;
            CheckDatabaseSettings(connectionSettings);

            _connection = new ClickHouseConnection(connectionSettings);
            _connection.Open();

            var cmdDDL = _connection.CreateCommand();
            var onModelCreatingParameters = new OnDatabaseModelConfiguringParameters()
            {
                Query_CreateTable_LogFiles = Resources.Query_CreateTable_LogFiles,
                Query_CreateTable_RowsData = Resources.Query_CreateTable_RowsData
            };

            _extendedActions?.OnDatabaseModelConfiguring(this, onModelCreatingParameters);

            cmdDDL.CommandText = onModelCreatingParameters.Query_CreateTable_RowsData
                                 .Replace("{TemplateFields}", string.Empty);
            cmdDDL.ExecuteNonQuery();

            cmdDDL.CommandText = onModelCreatingParameters.Query_CreateTable_LogFiles
                                 .Replace("{TemplateFields}", string.Empty);
            cmdDDL.ExecuteNonQuery();
        }
Example #2
0
        public EventLogOnClickHouse(string connectionString, int portion, IExtendedActions extendedActions)
        {
            _portion          = portion;
            _maxPeriodRowData = DateTime.MinValue;

            if (connectionString == null)
            {
                IConfiguration Configuration = new ConfigurationBuilder()
                                               .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                                               .Build();
                _connectionString = Configuration.GetConnectionString("EventLogDatabase");
            }

            _connectionString = connectionString;
            _extendedActions  = extendedActions;
        }