mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 10:42:52 +08:00
- 修复 pgsql varchar(120) CodeFirst 迁移不修改长度;
This commit is contained in:
parent
71ba136e08
commit
97975b5ab5
@ -180,11 +180,80 @@ namespace base_entity
|
||||
[Column(DbType = "varchar(128)")]
|
||||
public string img { get; set; }
|
||||
}
|
||||
|
||||
public class SongRepository : BaseRepository<TUserImg, int>
|
||||
{
|
||||
public SongRepository(IFreeSql fsql) : base(fsql, null, null)
|
||||
{
|
||||
//fsql.CodeFirst.Entity<TUserImg>(a =>
|
||||
// {
|
||||
// //a.Property(b => b.Id).DbType("varchar(100)");
|
||||
// a.Property(b => b.UserId).Stringlength(120);
|
||||
// a.Property(b=>b.UserId).
|
||||
// });
|
||||
fsql.CodeFirst
|
||||
.ConfigEntity<TUserImg>(a =>
|
||||
{
|
||||
a.Property(b => b.UserId).StringLength(120);
|
||||
});
|
||||
//var info= fsql.CodeFirst.GetTableByEntity(typeof(TUserImg));
|
||||
var sql = fsql.CodeFirst.GetComparisonDDLStatements<TUserImg>();
|
||||
var t1 = fsql.CodeFirst.GetComparisonDDLStatements(typeof(TUserImg), "TUserImg");
|
||||
fsql.CodeFirst.SyncStructure<TUserImg>(); ;//同步表结构
|
||||
|
||||
var debug = sql;
|
||||
}
|
||||
|
||||
//在这里增加 CURD 以外的方法
|
||||
}
|
||||
public interface IEntity
|
||||
{
|
||||
|
||||
}
|
||||
public partial class TUserImg : IEntity
|
||||
{
|
||||
|
||||
///<summary>
|
||||
///主键
|
||||
///</summary>
|
||||
public string Id { get; set; }
|
||||
|
||||
///<summary>
|
||||
///企业
|
||||
///</summary>
|
||||
public string EnterpriseId { get; set; }
|
||||
|
||||
///<summary>
|
||||
///用户id
|
||||
///</summary>
|
||||
public string UserId { get; set; }
|
||||
|
||||
///<summary>
|
||||
///图片
|
||||
///</summary>
|
||||
public string Img { get; set; }
|
||||
|
||||
///<summary>
|
||||
///创建人Id
|
||||
///</summary>
|
||||
public string CId { get; set; }
|
||||
|
||||
///<summary>
|
||||
///创建人
|
||||
///</summary>
|
||||
public string CName { get; set; }
|
||||
|
||||
///<summary>
|
||||
///创建日期
|
||||
///</summary>
|
||||
public DateTime CTime { get; set; }
|
||||
}
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
#region 初始化 IFreeSql
|
||||
var fsql = new FreeSql.FreeSqlBuilder()
|
||||
.UseAutoSyncStructure(true)
|
||||
.UseAutoSyncStructure(false)
|
||||
.UseNoneCommandParameter(true)
|
||||
|
||||
.UseConnectionString(FreeSql.DataType.Sqlite, "data source=test1.db;max pool size=5")
|
||||
@ -199,8 +268,8 @@ namespace base_entity
|
||||
|
||||
//.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true")
|
||||
|
||||
//.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=2")
|
||||
//.UseNameConvert(FreeSql.Internal.NameConvertType.ToLower)
|
||||
.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=2")
|
||||
.UseNameConvert(FreeSql.Internal.NameConvertType.ToLower)
|
||||
|
||||
//.UseConnectionString(FreeSql.DataType.Oracle, "user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=2")
|
||||
//.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper)
|
||||
@ -225,6 +294,10 @@ namespace base_entity
|
||||
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
||||
#endregion
|
||||
|
||||
fsql.Select<TUserImg>();
|
||||
|
||||
var srepo = new SongRepository(fsql);
|
||||
|
||||
var sql122234 = fsql.CodeFirst.GetComparisonDDLStatements<EnterpriseInfo>();
|
||||
|
||||
if (fsql.Ado.DataType == DataType.PostgreSQL)
|
||||
|
@ -29,6 +29,41 @@
|
||||
描述
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:base_entity.Program.TUserImg.Id">
|
||||
<summary>
|
||||
主键
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:base_entity.Program.TUserImg.EnterpriseId">
|
||||
<summary>
|
||||
企业
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:base_entity.Program.TUserImg.UserId">
|
||||
<summary>
|
||||
用户id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:base_entity.Program.TUserImg.Img">
|
||||
<summary>
|
||||
图片
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:base_entity.Program.TUserImg.CId">
|
||||
<summary>
|
||||
创建人Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:base_entity.Program.TUserImg.CName">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:base_entity.Program.TUserImg.CTime">
|
||||
<summary>
|
||||
创建日期
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:EMSServerModel.Model.Role">
|
||||
<summary>
|
||||
角色表
|
||||
|
@ -225,7 +225,19 @@ where ns.nspname = {0} and c.relname = {1}", tboldname ?? tbname);
|
||||
string.IsNullOrEmpty(tbcol.Attribute.OldName) == false && tbstruct.TryGetValue(tbcol.Attribute.OldName, out tbstructcol))
|
||||
{
|
||||
var isCommentChanged = tbstructcol.comment != (tbcol.Comment ?? "");
|
||||
if (tbcol.Attribute.DbType.StartsWith(tbstructcol.sqlType, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
var sqlTypeSize = tbstructcol.sqlType;
|
||||
if (sqlTypeSize.Contains("(") == false)
|
||||
{
|
||||
switch (sqlTypeSize.ToLower())
|
||||
{
|
||||
case "bit":
|
||||
case "varbit":
|
||||
case "bpchar":
|
||||
case "varchar":
|
||||
sqlTypeSize = $"{sqlTypeSize}({tbstructcol.max_length})"; break;
|
||||
}
|
||||
}
|
||||
if (tbcol.Attribute.DbType.StartsWith(sqlTypeSize, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
tbcol.Attribute.DbType.Contains("[]") != (tbstructcol.attndims > 0))
|
||||
sbalter.Append("ALTER TABLE ").Append(_commonUtils.QuoteSqlName($"{tbname[0]}.{tbname[1]}")).Append(" ALTER COLUMN ").Append(_commonUtils.QuoteSqlName(tbstructcol.column)).Append(" TYPE ").Append(tbcol.Attribute.DbType.Split(' ').First()).Append(";\r\n");
|
||||
if (tbcol.Attribute.IsNullable != tbstructcol.is_nullable)
|
||||
|
@ -229,7 +229,19 @@ where ns.nspname = {0} and c.relname = {1}", tboldname ?? tbname);
|
||||
string.IsNullOrEmpty(tbcol.Attribute.OldName) == false && tbstruct.TryGetValue(tbcol.Attribute.OldName, out tbstructcol))
|
||||
{
|
||||
var isCommentChanged = tbstructcol.comment != (tbcol.Comment ?? "");
|
||||
if (tbcol.Attribute.DbType.StartsWith(tbstructcol.sqlType, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
var sqlTypeSize = tbstructcol.sqlType;
|
||||
if (sqlTypeSize.Contains("(") == false)
|
||||
{
|
||||
switch (sqlTypeSize.ToLower())
|
||||
{
|
||||
case "bit":
|
||||
case "varbit":
|
||||
case "bpchar":
|
||||
case "varchar":
|
||||
sqlTypeSize = $"{sqlTypeSize}({tbstructcol.max_length})"; break;
|
||||
}
|
||||
}
|
||||
if (tbcol.Attribute.DbType.StartsWith(sqlTypeSize, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
tbcol.Attribute.DbType.Contains("[]") != (tbstructcol.attndims > 0))
|
||||
sbalter.Append("ALTER TABLE ").Append(_commonUtils.QuoteSqlName($"{tbname[0]}.{tbname[1]}")).Append(" ALTER COLUMN ").Append(_commonUtils.QuoteSqlName(tbstructcol.column)).Append(" TYPE ").Append(tbcol.Attribute.DbType.Split(' ').First()).Append(";\r\n");
|
||||
if (tbcol.Attribute.IsNullable != tbstructcol.is_nullable)
|
||||
|
@ -241,7 +241,19 @@ where ns.nspname = {0} and c.relname = {1}", tboldname ?? tbname);
|
||||
string.IsNullOrEmpty(tbcol.Attribute.OldName) == false && tbstruct.TryGetValue(tbcol.Attribute.OldName, out tbstructcol))
|
||||
{
|
||||
var isCommentChanged = tbstructcol.comment != (tbcol.Comment ?? "");
|
||||
if (tbcol.Attribute.DbType.StartsWith(tbstructcol.sqlType, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
var sqlTypeSize = tbstructcol.sqlType;
|
||||
if (sqlTypeSize.Contains("(") == false)
|
||||
{
|
||||
switch (sqlTypeSize.ToLower())
|
||||
{
|
||||
case "bit":
|
||||
case "varbit":
|
||||
case "bpchar":
|
||||
case "varchar":
|
||||
sqlTypeSize = $"{sqlTypeSize}({tbstructcol.max_length})"; break;
|
||||
}
|
||||
}
|
||||
if (tbcol.Attribute.DbType.StartsWith(sqlTypeSize, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
tbcol.Attribute.DbType.Contains("[]") != (tbstructcol.attndims > 0))
|
||||
sbalter.Append("ALTER TABLE ").Append(_commonUtils.QuoteSqlName($"{tbname[0]}.{tbname[1]}")).Append(" ALTER COLUMN ").Append(_commonUtils.QuoteSqlName(tbstructcol.column)).Append(" TYPE ").Append(tbcol.Attribute.DbType.Split(' ').First()).Append(";\r\n");
|
||||
if (tbcol.Attribute.IsNullable != tbstructcol.is_nullable)
|
||||
|
@ -290,7 +290,16 @@ where ns.nspname = {0} and c.relname = {1}", tboldname ?? tbname);
|
||||
string.IsNullOrEmpty(tbcol.Attribute.OldName) == false && tbstruct.TryGetValue(tbcol.Attribute.OldName, out tbstructcol))
|
||||
{
|
||||
var isCommentChanged = tbstructcol.comment != (tbcol.Comment ?? "");
|
||||
if (tbcol.Attribute.DbType.StartsWith(tbstructcol.sqlType, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
var sqlTypeSize = tbstructcol.sqlType;
|
||||
if (sqlTypeSize.Contains("(") == false)
|
||||
{
|
||||
switch (sqlTypeSize.ToLower())
|
||||
{
|
||||
case "bit": case "varbit": case "bpchar": case "varchar":
|
||||
sqlTypeSize = $"{sqlTypeSize}({tbstructcol.max_length})"; break;
|
||||
}
|
||||
}
|
||||
if (tbcol.Attribute.DbType.StartsWith(sqlTypeSize, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
tbcol.Attribute.DbType.Contains("[]") != (tbstructcol.attndims > 0))
|
||||
sbalter.Append("ALTER TABLE ").Append(_commonUtils.QuoteSqlName($"{tbname[0]}.{tbname[1]}")).Append(" ALTER COLUMN ").Append(_commonUtils.QuoteSqlName(tbstructcol.column)).Append(" TYPE ").Append(tbcol.Attribute.DbType.Split(' ').First()).Append(";\r\n");
|
||||
if (tbcol.Attribute.IsNullable != tbstructcol.is_nullable)
|
||||
|
@ -241,7 +241,19 @@ where ns.nspname = {0} and c.relname = {1}", tboldname ?? tbname);
|
||||
string.IsNullOrEmpty(tbcol.Attribute.OldName) == false && tbstruct.TryGetValue(tbcol.Attribute.OldName, out tbstructcol))
|
||||
{
|
||||
var isCommentChanged = tbstructcol.comment != (tbcol.Comment ?? "");
|
||||
if (tbcol.Attribute.DbType.StartsWith(tbstructcol.sqlType, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
var sqlTypeSize = tbstructcol.sqlType;
|
||||
if (sqlTypeSize.Contains("(") == false)
|
||||
{
|
||||
switch (sqlTypeSize.ToLower())
|
||||
{
|
||||
case "bit":
|
||||
case "varbit":
|
||||
case "bpchar":
|
||||
case "varchar":
|
||||
sqlTypeSize = $"{sqlTypeSize}({tbstructcol.max_length})"; break;
|
||||
}
|
||||
}
|
||||
if (tbcol.Attribute.DbType.StartsWith(sqlTypeSize, StringComparison.CurrentCultureIgnoreCase) == false ||
|
||||
tbcol.Attribute.DbType.Contains("[]") != (tbstructcol.attndims > 0))
|
||||
sbalter.Append("ALTER TABLE ").Append(_commonUtils.QuoteSqlName($"{tbname[0]}.{tbname[1]}")).Append(" ALTER TYPE ").Append(_commonUtils.QuoteSqlName(tbstructcol.column)).Append(" ").Append(tbcol.Attribute.DbType.Split(' ').First()).Append(";\r\n");
|
||||
if (tbcol.Attribute.IsNullable != tbstructcol.is_nullable)
|
||||
|
Loading…
x
Reference in New Issue
Block a user