Update Oscar

This commit is contained in:
sunkaixuna 2021-09-05 12:54:05 +08:00
parent 33bc22d111
commit 8ebc97850d
5 changed files with 38 additions and 57 deletions

View File

@ -16,16 +16,16 @@ namespace OrmTest
/// Account have permission to create database /// Account have permission to create database
/// 用有建库权限的数据库账号 /// 用有建库权限的数据库账号
/// </summary> /// </summary>
public static string ConnectionString = "PORT=2003;DATABASE=SqlSugar4xTest;HOST=localhost;PASSWORD=szoscar55;USER ID=SYSDBA"; public static string ConnectionString = "PORT=2003;DATABASE=osrdb;HOST=localhost;PASSWORD=szoscar55;USER ID=SYSDBA";
/// <summary> /// <summary>
/// Account have permission to create database /// Account have permission to create database
/// 用有建库权限的数据库账号 /// 用有建库权限的数据库账号
/// </summary> /// </summary>
public static string ConnectionString2 = "PORT=2003;DATABASE=SqlSugar4xTest2;HOST=localhost;PASSWORD=szoscar55;USER ID=SYSDBA"; public static string ConnectionString2 = "PORT=2003;DATABASE=osrdb;HOST=localhost;PASSWORD=szoscar55;USER ID=SYSDBA";
/// <summary> /// <summary>
/// Account have permission to create database /// Account have permission to create database
/// 用有建库权限的数据库账号 /// 用有建库权限的数据库账号
/// </summary> /// </summary>
public static string ConnectionString3 = "PORT=2003;DATABASE=SqlSugar4xTest3;HOST=localhost;PASSWORD=szoscar55;USER ID=SYSDBA"; public static string ConnectionString3 = "PORT=2003;DATABASE=osrdb;HOST=localhost;PASSWORD=szoscar55;USER ID=SYSDBA";
} }
} }

View File

@ -68,7 +68,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 1"); var dt = db.Ado.GetDataTable("select 1");

View File

@ -12,7 +12,7 @@ namespace SqlSugar
{ {
get get
{ {
return "SELECT datname FROM pg_database"; return "SELECT datname FROM sys_database";
} }
} }
protected override string GetColumnInfosByTableNameSql protected override string GetColumnInfosByTableNameSql
@ -32,18 +32,18 @@ namespace SqlSugar
then true else false end as IsIdentity, then true else false end as IsIdentity,
case when pcolumn.is_nullable = 'YES' case when pcolumn.is_nullable = 'YES'
then true else false end as IsNullable then true else false end as IsNullable
from (select * from pg_tables where tablename = '{0}' and schemaname='public') ptables inner join pg_class pclass from (select * from sys_tables where tablename = '{0}' and schemaname='public') ptables inner join sys_class pclass
on ptables.tablename = pclass.relname inner join (SELECT * on ptables.tablename = pclass.relname inner join (SELECT *
FROM information_schema.columns FROM INFO_SCHEM.ALL_TAB_COLUMNS
) pcolumn on pcolumn.table_name = ptables.tablename ) pcolumn on pcolumn.table_name = ptables.tablename
left join ( left join (
select pg_class.relname,pg_attribute.attname as colname from select sys_class.relname,sys_attribute.attname as colname from
pg_constraint inner join pg_class sys_constraint inner join sys_class
on pg_constraint.conrelid = pg_class.oid on sys_constraint.conrelid = sys_class.oid
inner join pg_attribute on pg_attribute.attrelid = pg_class.oid inner join sys_attribute on sys_attribute.attrelid = sys_class.oid
and pg_attribute.attnum = pg_constraint.conkey[1] and sys_attribute.attnum = sys_constraint.conkey[1]
inner join pg_type on pg_type.oid = pg_attribute.atttypid inner join sys_type on sys_type.oid = sys_attribute.atttypid
where pg_constraint.contype='p' where sys_constraint.contype='p'
) pkey on pcolumn.table_name = pkey.relname ) pkey on pcolumn.table_name = pkey.relname
order by ptables.tablename"; order by ptables.tablename";
return sql; return sql;
@ -53,18 +53,25 @@ namespace SqlSugar
{ {
get get
{ {
return @"select cast(relname as varchar) as Name, return @"select cast(relname as varchar(500)) as Name ,
cast(obj_description(relfilenode,'pg_class') as varchar) as Description from pg_class c '' AS Description
where relkind = 'r' and relname not like 'pg_%' and relname not like 'sql_%' order by relname"; from sys_class c
where relkind = 'r'
and relname not like 'SYS_%'
and relname not like 'V_SYS_%'
and relname not like 'sql_%'
and relname not like 'AQ$%'
AND relname NOT IN('LOGIN_FORBIDDEN_RULE','DBMS_LOCK_ALLOCATED','DUAL''_OBJ_BINLOG_SHOW_EVENTS_','USER_LOGIN_HISTORY','LOGIN_ALLOW_IPLIST')
order by relname";
} }
} }
protected override string GetViewInfoListSql protected override string GetViewInfoListSql
{ {
get get
{ {
return @"select cast(relname as varchar) as Name,cast(Description as varchar) from pg_description return @"select cast(relname as varchar) as Name,cast(Description as varchar) from sys_description
join pg_class on pg_description.objoid = pg_class.oid join sys_class on sys_description.objoid = sys_class.oid
where objsubid = 0 and relname in (SELECT viewname from pg_views where objsubid = 0 and relname in (SELECT viewname from sys_views
WHERE schemaname ='public')"; WHERE schemaname ='public')";
} }
} }
@ -205,7 +212,7 @@ namespace SqlSugar
{ {
get get
{ {
return "select 1 from information_schema.columns limit 1 offset 0"; return "select 1 from INFO_SCHEM.ALL_TAB_COLUMNS limit 1 offset 0";
} }
} }
#endregion #endregion
@ -277,27 +284,7 @@ namespace SqlSugar
/// <returns></returns> /// <returns></returns>
public override bool CreateDatabase(string databaseName, string databaseDirectory = null) public override bool CreateDatabase(string databaseName, string databaseDirectory = null)
{ {
if (databaseDirectory != null) throw new NotSupportedException("Not Supported CreateDatabase");
{
if (!FileHelper.IsExistDirectory(databaseDirectory))
{
FileHelper.CreateDirectory(databaseDirectory);
}
}
var oldDatabaseName = this.Context.Ado.Connection.Database;
var connection = this.Context.CurrentConnectionConfig.ConnectionString;
connection = connection.Replace(oldDatabaseName, "postgres");
var newDb = new SqlSugarClient(new ConnectionConfig()
{
DbType = this.Context.CurrentConnectionConfig.DbType,
IsAutoCloseConnection = true,
ConnectionString = connection
});
if (!GetDataBaseList(newDb).Any(it => it.Equals(databaseName, StringComparison.CurrentCultureIgnoreCase)))
{
newDb.Ado.ExecuteCommand(string.Format(CreateDataBaseSql, this.SqlBuilder.SqlTranslationLeft+databaseName+this.SqlBuilder.SqlTranslationRight, databaseDirectory));
}
return true;
} }
public override bool AddRemark(EntityInfo entity) public override bool AddRemark(EntityInfo entity)
{ {

View File

@ -47,7 +47,7 @@ namespace SqlSugar
{ {
if (propertyName.Contains(SqlTranslationLeft)) return propertyName; if (propertyName.Contains(SqlTranslationLeft)) return propertyName;
else else
return SqlTranslationLeft + propertyName.ToLower(isAutoToLower) + SqlTranslationRight; return SqlTranslationLeft + propertyName.ToUpper() + SqlTranslationRight;
} }
//public override string GetNoTranslationColumnName(string name) //public override string GetNoTranslationColumnName(string name)
@ -64,7 +64,7 @@ namespace SqlSugar
.FirstOrDefault(it => .FirstOrDefault(it =>
it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase) && it.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase) &&
it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase)); it.PropertyName.Equals(propertyName, StringComparison.CurrentCultureIgnoreCase));
return (mappingInfo == null ? SqlTranslationLeft + propertyName.ToLower(isAutoToLower) + SqlTranslationRight : SqlTranslationLeft + mappingInfo.DbColumnName.ToLower(isAutoToLower) + SqlTranslationRight); return (mappingInfo == null ? SqlTranslationLeft + propertyName.ToUpper() + SqlTranslationRight : SqlTranslationLeft + mappingInfo.DbColumnName.ToUpper() + SqlTranslationRight);
} }
public override string GetTranslationTableName(string name) public override string GetTranslationTableName(string name)
@ -78,7 +78,7 @@ namespace SqlSugar
name = (mappingInfo == null ? name : mappingInfo.DbTableName); name = (mappingInfo == null ? name : mappingInfo.DbTableName);
if (name.Contains(".")&& !name.Contains("(")) if (name.Contains(".")&& !name.Contains("("))
{ {
return string.Join(".", name.ToLower(isAutoToLower).Split('.').Select(it => SqlTranslationLeft + it + SqlTranslationRight)); return string.Join(".", name.ToUpper().Split('.').Select(it => SqlTranslationLeft + it + SqlTranslationRight));
} }
else if (name.Contains("(")) else if (name.Contains("("))
{ {
@ -90,7 +90,7 @@ namespace SqlSugar
} }
else else
{ {
return SqlTranslationLeft + name.ToLower(isAutoToLower).TrimEnd('"').TrimStart('"') + SqlTranslationRight; return SqlTranslationLeft + name.ToUpper().TrimEnd('"').TrimStart('"') + SqlTranslationRight;
} }
} }
} }

View File

@ -25,15 +25,9 @@ namespace SqlSugar
} }
public override string GetTranslationText(string name) public override string GetTranslationText(string name)
{ {
return SqlTranslationLeft + name.ToLower(isAutoToLower) + SqlTranslationRight; return SqlTranslationLeft + name.ToUpper() + SqlTranslationRight;
}
public bool isAutoToLower
{
get
{
return base.PgSqlIsAutoToLower;
}
} }
public override string GetTranslationTableName(string entityName, bool isMapping = true) public override string GetTranslationTableName(string entityName, bool isMapping = true)
{ {
Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name")); Check.ArgumentNullException(entityName, string.Format(ErrorMessage.ObjNotExist, "Table Name"));
@ -61,7 +55,7 @@ namespace SqlSugar
return tableName; return tableName;
} }
return SqlTranslationLeft + (mappingInfo == null ? entityName : mappingInfo.DbTableName).ToLower(isAutoToLower) + SqlTranslationRight; return SqlTranslationLeft + (mappingInfo == null ? entityName : mappingInfo.DbTableName).ToUpper() + SqlTranslationRight;
} }
else if (isComplex) else if (isComplex)
{ {
@ -94,11 +88,11 @@ namespace SqlSugar
if (this.MappingColumns.HasValue()) if (this.MappingColumns.HasValue())
{ {
var mappingInfo = this.MappingColumns.SingleOrDefault(it => it.EntityName == entityName && it.PropertyName == propertyName); var mappingInfo = this.MappingColumns.SingleOrDefault(it => it.EntityName == entityName && it.PropertyName == propertyName);
return (mappingInfo == null ? propertyName : mappingInfo.DbColumnName).ToLower(isAutoToLower); return (mappingInfo == null ? propertyName : mappingInfo.DbColumnName).ToUpper();
} }
else else
{ {
return propertyName.ToLower(isAutoToLower); return propertyName.ToUpper();
} }
} }
} }