diff --git a/ClickHouse.Client/ADO/ClickHouseConnection.cs b/ClickHouse.Client/ADO/ClickHouseConnection.cs index 39c0f6d2..2cc0df0c 100644 --- a/ClickHouse.Client/ADO/ClickHouseConnection.cs +++ b/ClickHouse.Client/ADO/ClickHouseConnection.cs @@ -37,9 +37,9 @@ public class ClickHouseConnection : DbConnection, IClickHouseConnection, IClonea private Version serverVersion; private string serverTimezone; - private string database = "default"; - private string username; - private string password; + private string database = ClickHouseEnvironment.Database; + private string username = ClickHouseEnvironment.Username; + private string password = ClickHouseEnvironment.Password; private string session; private bool useServerTimezone; private bool useCustomDecimals; diff --git a/ClickHouse.Client/ADO/ClickHouseConnectionStringBuilder.cs b/ClickHouse.Client/ADO/ClickHouseConnectionStringBuilder.cs index 8dcf87fb..2102f369 100644 --- a/ClickHouse.Client/ADO/ClickHouseConnectionStringBuilder.cs +++ b/ClickHouse.Client/ADO/ClickHouseConnectionStringBuilder.cs @@ -17,19 +17,19 @@ public ClickHouseConnectionStringBuilder(string connectionString) public string Database { - get => GetStringOrDefault("Database", "default"); + get => GetStringOrDefault("Database", ClickHouseEnvironment.Database); set => this["Database"] = value; } public string Username { - get => GetStringOrDefault("Username", "default"); + get => GetStringOrDefault("Username", ClickHouseEnvironment.Username); set => this["Username"] = value; } public string Password { - get => GetStringOrDefault("Password", string.Empty); + get => GetStringOrDefault("Password", ClickHouseEnvironment.Password); set => this["Password"] = value; } diff --git a/ClickHouse.Client/ADO/ClickHouseEnvironment.cs b/ClickHouse.Client/ADO/ClickHouseEnvironment.cs new file mode 100644 index 00000000..e71f6da6 --- /dev/null +++ b/ClickHouse.Client/ADO/ClickHouseEnvironment.cs @@ -0,0 +1,12 @@ +using System; + +namespace ClickHouse.Client.ADO; + +internal static class ClickHouseEnvironment +{ + public static string Database => Environment.GetEnvironmentVariable("CLICKHOUSE_DB") ?? "default"; + + public static string Username => Environment.GetEnvironmentVariable("CLICKHOUSE_USER") ?? "default"; + + public static string Password => Environment.GetEnvironmentVariable("CLICKHOUSE_PASSWORD") ?? string.Empty; +}