1 Star 5 Fork 2

雨过天晴/liquibase-go

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
tran_drop_table.go 1.62 KB
一键复制 编辑 原始数据 按行查看 历史
luwei 提交于 2022-03-13 09:18 +08:00 . 修改包名为gitee.com/west0207/liquigo
// Copyright 2022 The Liquigo Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package translate
import (
utils "gitee.com/west0207/liquigo/core/utils"
etree "gitee.com/west0207/etree"
)
// 获取删除表的Entity标签的sql语句
// dbmsName *string 数据库类型名称,例如:mysql
// dropTableEle *etree.Element 删除表的Entity标签
func GetDropTableSql(dbmsName *string, dropTableEle *etree.Element) (string, error) {
return getDefaultDropTableSql(dbmsName, dropTableEle)
// switch *dbmsName {
// case MySQL:
// return getDefaultCreateIndexSql(dropTableEle)
// case SQLite:
// return getDefaultCreateIndexSql(dropTableEle)
// case "h2":
// return getDefaultCreateIndexSql(dropTableEle)
// }
// return utils.EMPTY, nil
}
// drop table dept;
// drop table dept cascade constraints;
// drop table dept cascade; -- mysql
func getDefaultDropTableSql(dbmsName *string, dropTableEle *etree.Element) (string, error) {
cascadeConstraints := dropTableEle.SelectAttrValue("cascadeConstraints", utils.FALSE)
tableName := dropTableEle.SelectAttrValue("tableName", utils.EMPTY)
SetPropertyValue(dbmsName, &tableName)
var sql string
if cascadeConstraints == utils.TRUE {
switch *dbmsName {
case MySQL, MariaDB, Kingbase, PostgreSQL, TiDB:
sql = "drop table " + tableName + " cascade;"
case MsSQLServer, SQLite:
sql = "drop table if exists " + tableName + ";"
default:
// Dameng, Oracle, H2
sql = "drop table " + tableName + " cascade constraints;"
}
} else {
sql = "drop table " + tableName + ";"
}
return sql, nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/west0207/liquigo.git
git@gitee.com:west0207/liquigo.git
west0207
liquigo
liquibase-go
v0.2.17

搜索帮助