diff --git a/FreeSql.Tests/MySql/MySqlCodeFirstTest.cs b/FreeSql.Tests/MySql/MySqlCodeFirstTest.cs index 90673eca..8f2caee6 100644 --- a/FreeSql.Tests/MySql/MySqlCodeFirstTest.cs +++ b/FreeSql.Tests/MySql/MySqlCodeFirstTest.cs @@ -11,21 +11,21 @@ namespace FreeSql.Tests.MySql { [Fact] public void 中文表_字段() { - var sql = g.mysql.CodeFirst.GetComparisonDDLStatements<测试中文表>(); - g.mysql.CodeFirst.SyncStructure<测试中文表>(); + var sql = g.mysql.CodeFirst.GetComparisonDDLStatements<测试中文表2>(); + g.mysql.CodeFirst.SyncStructure<测试中文表2>(); - var item = new 测试中文表 { + var item = new 测试中文表2 { 标题 = "测试标题", 创建时间 = DateTime.Now }; - Assert.Equal(1, g.mysql.Insert<测试中文表>().AppendData(item).ExecuteAffrows()); + Assert.Equal(1, g.mysql.Insert<测试中文表2>().AppendData(item).ExecuteAffrows()); Assert.NotEqual(Guid.Empty, item.编号); - var item2 = g.mysql.Select<测试中文表>().Where(a => a.编号 == item.编号).First(); + var item2 = g.mysql.Select<测试中文表2>().Where(a => a.编号 == item.编号).First(); Assert.NotNull(item2); Assert.Equal(item.编号, item2.编号); Assert.Equal(item.标题, item2.标题); } - class 测试中文表 { + class 测试中文表2 { [Column(IsPrimary = true)] public Guid 编号 { get; set; } @@ -124,7 +124,7 @@ namespace FreeSql.Tests.MySql { `testFieldEnum2` SET('F1','F2','F3') NOT NULL, `testFieldEnum2Nullable` SET('F1','F2','F3'), PRIMARY KEY (`Id`) -) Engine=InnoDB CHARACTER SET utf8; +) Engine=InnoDB; ", sql); } diff --git a/FreeSql.Tests/Oracle/OracleCodeFirstTest.cs b/FreeSql.Tests/Oracle/OracleCodeFirstTest.cs index 5bf2a0d3..32b94b6f 100644 --- a/FreeSql.Tests/Oracle/OracleCodeFirstTest.cs +++ b/FreeSql.Tests/Oracle/OracleCodeFirstTest.cs @@ -125,7 +125,7 @@ namespace FreeSql.Tests.Oracle { `Enum2` SET('F1','F2','F3') NOT NULL, `Enum2Nullable` SET('F1','F2','F3'), PRIMARY KEY (`Id`) -) Engine=InnoDB CHARACTER SET utf8; +) Engine=InnoDB; ", sql); } diff --git a/FreeSql/MySql/MySqlCodeFirst.cs b/FreeSql/MySql/MySqlCodeFirst.cs index 0fc738cf..62fa7285 100644 --- a/FreeSql/MySql/MySqlCodeFirst.cs +++ b/FreeSql/MySql/MySqlCodeFirst.cs @@ -112,7 +112,7 @@ namespace FreeSql.MySql { var tboldname = tb.DbOldName?.Split(new[] { '.' }, 2); //鏃ц〃鍚 if (tboldname?.Length == 1) tboldname = new[] { database, tboldname[0] }; - if (string.Compare(tbname[0], database, true) != 0 && ExecuteScalar(database, _commonUtils.FormatSql(" select 1 from pg_database where datname={0}", tbname[0])) == null) //鍒涘缓鏁版嵁搴 + if (string.Compare(tbname[0], database, true) != 0 && ExecuteScalar(database, _commonUtils.FormatSql(" select 1 from information_schema.schemata where schema_name={0}", tbname[0])) == null) //鍒涘缓鏁版嵁搴 sb.Append($"CREATE DATABASE IF NOT EXISTS ").Append(_commonUtils.QuoteSqlName(tbname[0])).Append(" default charset utf8 COLLATE utf8_general_ci;\r\n"); var sbalter = new StringBuilder(); @@ -144,7 +144,7 @@ namespace FreeSql.MySql { sb.Remove(sb.Length - 2, 2).Append("),"); } sb.Remove(sb.Length - 1, 1); - sb.Append("\r\n) Engine=InnoDB CHARACTER SET utf8;\r\n"); + sb.Append("\r\n) Engine=InnoDB;\r\n"); continue; } //濡傛灉鏂拌〃锛屾棫琛ㄥ湪涓涓暟鎹簱涓嬶紝鐩存帴淇敼琛ㄥ悕 @@ -251,7 +251,7 @@ where a.constraint_schema IN ({0}) and a.table_name IN ({1})", tboldname ?? tbna sb.Remove(sb.Length - 2, 2).Append("),"); } sb.Remove(sb.Length - 1, 1); - sb.Append("\r\n) Engine=InnoDB CHARACTER SET utf8;\r\n"); + sb.Append("\r\n) Engine=InnoDB;\r\n"); sb.Append("INSERT INTO ").Append(tmptablename).Append(" ("); foreach (var tbcol in tb.Columns.Values) sb.Append(_commonUtils.QuoteSqlName(tbcol.Attribute.Name)).Append(", ");