- 增加 IDbFirst.ExistsTable 方法判断表是否存在;

This commit is contained in:
28810
2020-08-11 12:48:26 +08:00
parent 1ab1d16e53
commit da6effcf52
30 changed files with 616 additions and 17 deletions

View File

@ -21,5 +21,32 @@ namespace FreeSql.Tests.Odbc.Dameng
var t2 = g.dameng.DbFirst.GetTablesByDatabase();
//var tb = g.dameng.Ado.ExecuteArray(System.Data.CommandType.Text, "select * from \"tb_dbfirst\"");
}
[Fact]
public void ExistsTable()
{
var fsql = g.dameng;
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("1user.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("1user.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01));
Assert.True(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("1user.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("1user.test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table test_existstb01");
Assert.False(fsql.DbFirst.ExistsTable("1user.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("1user.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01), "1user.test_existstb01");
Assert.True(fsql.DbFirst.ExistsTable("1user.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("1user.test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table \"1USER\".test_existstb01");
}
class test_existstb01
{
public Guid id { get; set; }
}
}
}

View File

@ -18,5 +18,32 @@ namespace FreeSql.Tests.Odbc.KingbaseES
var t2 = g.kingbaseES.DbFirst.GetTablesByDatabase();
//var tb = g.kingbaseES.Ado.ExecuteArray(System.Data.CommandType.Text, "select * from \"tb_dbfirst\"");
}
[Fact]
public void ExistsTable()
{
var fsql = g.kingbaseES;
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("public.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("public.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01));
Assert.True(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("public.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("Test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("public.Test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table test_existstb01");
Assert.False(fsql.DbFirst.ExistsTable("tbexts.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("tbexts.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01), "tbexts.test_existstb01");
Assert.True(fsql.DbFirst.ExistsTable("tbexts.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("tbexts.Test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table \"TBEXTS\".test_existstb01");
}
class test_existstb01
{
public Guid id { get; set; }
}
}
}

View File

@ -21,5 +21,32 @@ namespace FreeSql.Tests.Odbc.MySql
var t2 = g.mysql.DbFirst.GetTablesByDatabase(g.mysql.DbFirst.GetDatabases()[0]);
}
[Fact]
public void ExistsTable()
{
var fsql = g.mysql;
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("cccddd_odbc.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("cccddd_odbc.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01));
Assert.True(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("cccddd_odbc.test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("Test_existstb01", false));
Assert.True(fsql.DbFirst.ExistsTable("cccddd_odbc.Test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table test_existstb01");
Assert.False(fsql.DbFirst.ExistsTable("cccddd_odbc.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("cccddd_odbc.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01), "cccddd_odbc.test_existstb01");
Assert.True(fsql.DbFirst.ExistsTable("cccddd_odbc.test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("cccddd_odbc.Test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table cccddd_odbc.test_existstb01");
}
class test_existstb01
{
public Guid id { get; set; }
}
}
}

View File

@ -21,5 +21,32 @@ namespace FreeSql.Tests.Odbc.Oracle
var t2 = g.oracle.DbFirst.GetTablesByDatabase();
//var tb = g.oracle.Ado.ExecuteArray(System.Data.CommandType.Text, "select * from \"tb_dbfirst\"");
}
[Fact]
public void ExistsTable()
{
var fsql = g.oracle;
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("1odbc.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("1odbc.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01));
Assert.True(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("1odbc.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("11odbcuser.test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table test_existstb01");
Assert.False(fsql.DbFirst.ExistsTable("1odbc.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("1odbc.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01), "1odbc.test_existstb01");
Assert.True(fsql.DbFirst.ExistsTable("1odbc.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("1odbc.test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table \"1ODBC\".test_existstb01");
}
class test_existstb01
{
public Guid id { get; set; }
}
}
}

View File

@ -25,5 +25,32 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
var tb_identity = t2.Where(a => a.Name == "test_new").FirstOrDefault();
}
[Fact]
public void ExistsTable()
{
var fsql = g.pgsql;
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("public.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("public.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01));
Assert.True(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("public.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("Test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("public.Test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table test_existstb01");
Assert.False(fsql.DbFirst.ExistsTable("tbexts.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("tbexts.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01), "tbexts.test_existstb01");
Assert.True(fsql.DbFirst.ExistsTable("tbexts.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("tbexts.Test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table \"tbexts\".test_existstb01");
}
class test_existstb01
{
public Guid id { get; set; }
}
}
}

View File

@ -22,5 +22,32 @@ namespace FreeSql.Tests.Odbc.SqlServer
var t2 = g.sqlserver.DbFirst.GetTablesByDatabase();
}
[Fact]
public void ExistsTable()
{
var fsql = g.sqlserver;
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("dbo.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("test_existstb01", false));
Assert.False(fsql.DbFirst.ExistsTable("dbo.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01));
Assert.True(fsql.DbFirst.ExistsTable("test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("dbo.test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("Test_existstb01", false));
Assert.True(fsql.DbFirst.ExistsTable("dbo.Test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table test_existstb01");
Assert.False(fsql.DbFirst.ExistsTable("xxxtb.test_existstb01"));
Assert.False(fsql.DbFirst.ExistsTable("xxxtb.test_existstb01", false));
fsql.CodeFirst.SyncStructure(typeof(test_existstb01), "xxxtb.test_existstb01");
Assert.True(fsql.DbFirst.ExistsTable("xxxtb.test_existstb01"));
Assert.True(fsql.DbFirst.ExistsTable("xxxtb.Test_existstb01", false));
fsql.Ado.ExecuteNonQuery("drop table xxxtb.test_existstb01");
}
class test_existstb01
{
public Guid id { get; set; }
}
}
}