Update ClickHouse

This commit is contained in:
sunkaixuan 2022-08-14 01:01:16 +08:00
parent d4e22d0fbb
commit 69db2bda2b
5 changed files with 10 additions and 27 deletions

View File

@ -16,7 +16,7 @@ namespace OrmTest
/// Account have permission to create database /// Account have permission to create database
/// 用有建库权限的数据库账号 /// 用有建库权限的数据库账号
/// </summary> /// </summary>
public static string ConnectionString = "Database=default;Username=default;Password=;Host=localhost;Port=8123;Compression=False;UseSession=False;Timeout=120;"; public static string ConnectionString = "Database=SqlSugarTest2;Username=default;Password=;Host=localhost;Port=8123;Compression=False;UseSession=False;Timeout=120;";
/// <summary> /// <summary>
/// Account have permission to create database /// Account have permission to create database
/// 用有建库权限的数据库账号 /// 用有建库权限的数据库账号

View File

@ -67,7 +67,7 @@ namespace OrmTest
}); });
//If no exist create datebase //If no exist create datebase
// db.DbMaintenance.CreateDatabase(); db.DbMaintenance.CreateDatabase();
//Use db query //Use db query
var dt = db.Ado.GetDataTable("SELECT * FROM system.tables"); var dt = db.Ado.GetDataTable("SELECT * FROM system.tables");

View File

@ -19,7 +19,7 @@ namespace OrmTest
InitKeyType = InitKeyType.Attribute, InitKeyType = InitKeyType.Attribute,
IsAutoCloseConnection = true IsAutoCloseConnection = true
}); });
db.DbMaintenance.CreateDatabase(); //db.DbMaintenance.CreateDatabase();
db.CodeFirst.InitTables(typeof(CodeFirstTable1));//Create CodeFirstTable1 db.CodeFirst.InitTables(typeof(CodeFirstTable1));//Create CodeFirstTable1
db.Insertable(new CodeFirstTable1() { Name = "a", Text="a" }).ExecuteCommand(); db.Insertable(new CodeFirstTable1() { Name = "a", Text="a" }).ExecuteCommand();
var list = db.Queryable<CodeFirstTable1>().ToList(); var list = db.Queryable<CodeFirstTable1>().ToList();
@ -29,10 +29,10 @@ namespace OrmTest
public class CodeFirstTable1 public class CodeFirstTable1
{ {
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)] [SugarColumn(IsPrimaryKey = true)]
public int Id { get; set; } public int Id { get; set; }
public string Name { get; set; } public string Name { get; set; }
[SugarColumn(ColumnDataType = "varchar(255)")]//custom [SugarColumn(ColumnDataType = "String")]//custom
public string Text { get; set; } public string Text { get; set; }
[SugarColumn(IsNullable = true)] [SugarColumn(IsNullable = true)]
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }

View File

@ -37,7 +37,7 @@ namespace OrmTest
Console.WriteLine(string.Join("," ,list)); Console.WriteLine(string.Join("," ,list));
}); });
var list2= db.Utilities.DataTableToList<Order>(db.Ado.GetDataTable("select * from \"order\"")); var list2= db.Utilities.DataTableToList<Order>(db.Ado.GetDataTable("select * from \"Order\""));
//more https://github.com/sunkaixuan/SqlSugar/wiki/f.Utilities //more https://github.com/sunkaixuan/SqlSugar/wiki/f.Utilities
Console.WriteLine("#### Utilities End ####"); Console.WriteLine("#### Utilities End ####");

View File

@ -33,7 +33,8 @@ namespace SqlSugar.ClickHouse
{ {
get get
{ {
return @"SELECT name FROM system.tables where database not in('INFORMATION_SCHEMA','system','information_schema' )"; string schema = GetSchema();
return @"SELECT name FROM system.tables where database not in('INFORMATION_SCHEMA','system','information_schema' ) and database='"+GetSchema()+"'";
} }
} }
protected override string GetViewInfoListSql protected override string GetViewInfoListSql
@ -281,7 +282,7 @@ namespace SqlSugar.ClickHouse
} }
var oldDatabaseName = this.Context.Ado.Connection.Database; var oldDatabaseName = this.Context.Ado.Connection.Database;
var connection = this.Context.CurrentConnectionConfig.ConnectionString; var connection = this.Context.CurrentConnectionConfig.ConnectionString;
connection = connection.Replace(oldDatabaseName, "postgres"); connection = connection.Replace(oldDatabaseName, "system");
var newDb = new SqlSugarClient(new ConnectionConfig() var newDb = new SqlSugarClient(new ConnectionConfig()
{ {
DbType = this.Context.CurrentConnectionConfig.DbType, DbType = this.Context.CurrentConnectionConfig.DbType,
@ -390,25 +391,7 @@ namespace SqlSugar.ClickHouse
#region Helper #region Helper
private string GetSchema() private string GetSchema()
{ {
var schema = "public"; return this.Context.Ado.Connection.Database;
if (System.Text.RegularExpressions.Regex.IsMatch(this.Context.CurrentConnectionConfig.ConnectionString.ToLower(), "searchpath="))
{
var regValue = System.Text.RegularExpressions.Regex.Match(this.Context.CurrentConnectionConfig.ConnectionString.ToLower(), @"searchpath\=(\w+)").Groups[1].Value;
if (regValue.HasValue())
{
schema = regValue;
}
}
else if (System.Text.RegularExpressions.Regex.IsMatch(this.Context.CurrentConnectionConfig.ConnectionString.ToLower(), "search path="))
{
var regValue = System.Text.RegularExpressions.Regex.Match(this.Context.CurrentConnectionConfig.ConnectionString.ToLower(), @"search path\=(\w+)").Groups[1].Value;
if (regValue.HasValue())
{
schema = regValue;
}
}
return schema;
} }
#endregion #endregion