支持sqlite表结构自动生成
This commit is contained in:
@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user