支持sqlite表结构自动生成

This commit is contained in:
2024-06-17 17:50:38 +08:00
parent 24aa0d3f9b
commit 572ed2b0f3
3 changed files with 50 additions and 26 deletions

View File

@ -95,7 +95,7 @@ func (t *Table) Validate() error {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:46 2023/9/17
func (t *Table) ToString() (string, error) {
func (t *Table) ToString() ([]string, error) {
tableTpl := t.getTableSqlTpl()
replaceTable := map[string]string{
TableName: t.Name, // 表名
@ -111,23 +111,22 @@ func (t *Table) ToString() (string, error) {
for _, item := range t.FieldList {
fieldStr, err := item.ToString()
if nil != err {
return "", err
return nil, err
}
fieldList = append(fieldList, fieldStr)
}
indexList := make([]string, 0)
for _, item := range t.IndexList {
indexStr, err := item.ToString()
indexStr, err := item.ToString(t.Name)
if nil != err {
return "", err
return nil, err
}
if len(indexStr) == 0 {
continue
}
indexList = append(indexList, indexStr)
}
if len(indexList) == 0 || consts.DatabaseDriverSqlite3 == DatabaseDriver {
replaceTable[TableFieldList] = strings.Join(fieldList, ",")
} else {
replaceTable[TableFieldList] = strings.Join(fieldList, ",") + ","
}
replaceTable[TableFieldList] = strings.Join(fieldList, ",")
replaceTable[TableIndexList] = strings.Join(indexList, ",")
if len(t.Engine) > 0 {
@ -153,7 +152,8 @@ func (t *Table) ToString() (string, error) {
for source, target := range replaceTable {
tableTpl = strings.ReplaceAll(tableTpl, source, target)
}
return tableTpl, nil
return append([]string{tableTpl}, indexList...), nil
}
// ToStringIgnoreError ...
@ -161,7 +161,7 @@ func (t *Table) ToString() (string, error) {
// Author : go_developer@163.com<白茶清欢>
//
// Date : 15:59 2023/9/18
func (t *Table) ToStringIgnoreError() string {
func (t *Table) ToStringIgnoreError() []string {
sql, _ := t.ToString()
return sql
}