Synchronization code

This commit is contained in:
sunkaixuan
2023-03-20 01:06:54 +08:00
parent e4ad7ca43a
commit 1bef3adc8a
9 changed files with 44 additions and 0 deletions

View File

@@ -84,6 +84,10 @@ namespace SqlSugar
return result.Select(it => it.DbColumnName).ToList();
});
}
public virtual List<string> GetIndexList(string tableName)
{
return new List<string>();
}
#endregion
#region Check

View File

@@ -17,6 +17,7 @@ namespace SqlSugar
List<string> GetIsIdentities(string tableName);
List<string> GetPrimaries(string tableName);
List<string> GetProcList(string dbName);
List<string> GetIndexList(string tableName);
#endregion
#region Check

View File

@@ -266,6 +266,11 @@ namespace SqlSugar
#endregion
#region Methods
public override List<string> GetIndexList(string tableName)
{
var sql = $"SELECT index_name FROM user_ind_columns\r\nWHERE table_name = '{tableName}'";
return this.Context.Ado.SqlQuery<string>(sql);
}
public override bool AddColumn(string tableName, DbColumnInfo columnInfo)
{
if (columnInfo.DataType == "varchar" && columnInfo.Length == 0)

View File

@@ -240,6 +240,16 @@ namespace SqlSugar
#endregion
#region Methods
public override List<string> GetIndexList(string tableName)
{
var sql = $"SELECT indexname FROM sys_indexes WHERE UPPER(tablename) = UPPER('{tableName}') AND UPPER(schemaname) = UPPER('" + GetSchema() + "') ";
return this.Context.Ado.SqlQuery<string>(sql);
}
public override List<string> GetProcList(string dbName)
{
var sql = $"SELECT proname FROM sys_proc p JOIN pg_namespace n ON p.pronamespace = n.oid WHERE UPPER(n.nspname) = UPPER('{dbName}')";
return this.Context.Ado.SqlQuery<string>(sql);
}
private string GetSchema()
{
var schema = "public";

View File

@@ -283,6 +283,11 @@ namespace SqlSugar
#endregion
#region Methods
public override List<string> GetIndexList(string tableName)
{
var sql = $"SHOW INDEX FROM {this.SqlBuilder.GetTranslationColumnName(tableName)}";
return this.Context.Ado.GetDataTable(sql).AsEnumerable().Cast<DataRow>().Select(it => it["key_name"]).Cast<string>().ToList();
}
public override List<string> GetProcList(string dbName)
{
var sql = $"SELECT ROUTINE_NAME FROM information_schema.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_SCHEMA = '{dbName}'";

View File

@@ -272,6 +272,11 @@ namespace SqlSugar
#endregion
#region Methods
public override List<string> GetIndexList(string tableName)
{
var sql = $"SELECT index_name FROM user_ind_columns\r\nWHERE table_name = '{tableName}'";
return this.Context.Ado.SqlQuery<string>(sql);
}
public override List<string> GetProcList(string dbName)
{
var sql = $"SELECT OBJECT_NAME FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE' AND OWNER = '{dbName.ToUpper()}'";

View File

@@ -249,6 +249,11 @@ namespace SqlSugar
#endregion
#region Methods
public override List<string> GetIndexList(string tableName)
{
var sql = $"SELECT indexname, indexdef FROM pg_indexes WHERE upper(tablename) = upper('{tableName}')";
return this.Context.Ado.SqlQuery<string>(sql);
}
public override List<string> GetProcList(string dbName)
{
var sql = $"SELECT proname FROM pg_proc p JOIN pg_namespace n ON p.pronamespace = n.oid WHERE n.nspname = '{dbName}'";

View File

@@ -321,6 +321,10 @@ namespace SqlSugar
#endregion
#region Methods
public override List<string> GetIndexList(string tableName)
{
return this.Context.Ado.SqlQuery<string>($"SELECT indexname = i.name FROM sys.indexes i\r\nJOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id\r\nJOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id\r\nWHERE i.object_id = OBJECT_ID('{tableName}')");
}
public override List<string> GetProcList(string dbName)
{
var sql = $"SELECT name FROM {dbName}.sys.procedures";

View File

@@ -255,6 +255,11 @@ namespace SqlSugar
#endregion
#region Methods
public override List<string> GetIndexList(string tableName)
{
var sql = $"PRAGMA index_list('{tableName}');";
return this.Context.Ado.SqlQuery<string>(sql);
}
public override void AddDefaultValue(EntityInfo entityInfo)
{
//sqlite no support AddDefaultValue