当我们删除表时,是否可以级联到其他表。 Postgresql支持此功能。
PostgreSQL DROP TABLE语法 DROP TABLE [IF EXISTS] table_name [CASCADE | RESTRICT];
我试着没有运气。
public void CreateDbTable()
{
using (IDbConnection db = DbFactory.OpenDbConnection())
{
using (var trans = db.OpenTransaction())
{
db.ExecuteSql("SET CONSTRAINTS ALL DEFERRED");
db.DropTables(Tables); -- Add Parameter to Cascade or another methode
trans.Commit();
}
using (var trans = db.OpenTransaction())
{
try
{
db.CreateTable<Address>();
db.CreateTable<User>();
db.CreateTable<Group>();
db.CreateTable<UserGroup>();
db.CreateTable<Fee.Fee>();
db.CreateTable<Event.Event>();
db.CreateTable<Event.EventFee>();
db.CreateTable<Person.Person>();
db.CreateTable<Registration.Registration>();
db.CreateTable<Country>();
db.CreateTable<Address>();
db.CreateTable<User>();
db.CreateTable<Group>();
db.CreateTable<UserGroup>();
db.CreateTable<Fee.Fee>();
db.CreateTable<Event.Event>();
db.CreateTable<Event.EventFee>();
db.CreateTable<Person.Person>();
db.CreateTable<Registration.Registration>();
trans.Commit();
}
catch (Exception)
{
trans.Rollback();
throw;
}
}
}
}