public ClickHouseMigrations(
            IClickHouseDatabase dbProvider,
            ILogger <ClickHouseMigrations> logger,
            ClickHouseConnectionSettings connectionSettings,
            IClickHouseMigrationLocator locator)
        {
            _dbProvider = dbProvider;
            _logger     = logger;

            if (string.IsNullOrWhiteSpace(connectionSettings.Database))
            {
                throw new ArgumentException("Error applying migrations. Database is not set in connectionSettings.", nameof(connectionSettings));
            }

            _connectionSettings = connectionSettings;
            _locator            = locator;
        }
Example #2
0
        public static bool CastRawValuesToClassTypeProperties(IClickHouseDatabase db)
        {
            if (db.TableExists("Test"))
            {
                db.DropTable("Test");
            }

            db.CreateTable(new Table
            {
                Engine  = "MergeTree(date, (date, Id, Number, Cost), 8192)",
                Name    = "Test",
                Columns = new List <Column>()
                {
                    new Column("date", "Date"),
                    new Column("Id", "String"),
                    new Column("Number", "Int32"),
                    new Column("Cost", "Float64"),
                    new Column("Name", "String"),
                    new Column("Ushort", "UInt16"),
                    new Column("Uint", "UInt32"),
                }
            });

            var testItem = new TestDataItem3
            {
                Id     = Guid.NewGuid(),
                Number = -96,
                Cost   = 31,
                Name   = "Jon Skeet",
                Ushort = 150,
                Uint   = 65536
            };

            var command = testItem.GetInsertCommand();

            db.ExecuteNonQuery(command);

            command = "SELECT Id, Number, Cost, Name, Ushort, Uint FROM Test";
            var resultItem = db.ExecuteQueryMapping <TestDataItem3>(command, convention: new UnderscoreNamingConvention()).Single();

            db.DropTable("Test");
            return(testItem.Equals(resultItem));
        }
Example #3
0
 public ClickHouseHealthCheck(IClickHouseDatabase database)
 {
     _database = database ?? throw new ArgumentNullException(nameof(database));
 }
 public abstract bool Process(IClickHouseDatabase provider);
 public override bool Process(IClickHouseDatabase provider)
 {
     return(true);
 }
 public ClickHouseService(IClickHouseDatabase db)
 {
     _db = db;
 }