mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-03 16:00:25 +08:00
fix: meta_sql文件中windows换行符不同问题
This commit is contained in:
@@ -3,6 +3,7 @@ package application
|
|||||||
import (
|
import (
|
||||||
"embed"
|
"embed"
|
||||||
"mayfly-go/pkg/biz"
|
"mayfly-go/pkg/biz"
|
||||||
|
"mayfly-go/pkg/utils"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -84,9 +85,10 @@ func GetLocalSql(file, key string) string {
|
|||||||
biz.ErrIsNilAppendErr(err, "获取sql meta文件内容失败: %s")
|
biz.ErrIsNilAppendErr(err, "获取sql meta文件内容失败: %s")
|
||||||
allSql := string(bytes)
|
allSql := string(bytes)
|
||||||
|
|
||||||
sqls := strings.Split(allSql, "\n\n")
|
sqls := strings.Split(allSql, "---------------------------------------")
|
||||||
var resSql string
|
var resSql string
|
||||||
for _, sql := range sqls {
|
for _, sql := range sqls {
|
||||||
|
sql = utils.StrTrimSpaceAndBr(sql)
|
||||||
// 获取sql第一行的sql备注信息如:--MYSQL_TABLE_MA 表信息元数据
|
// 获取sql第一行的sql备注信息如:--MYSQL_TABLE_MA 表信息元数据
|
||||||
info := strings.SplitN(sql, "\n", 2)
|
info := strings.SplitN(sql, "\n", 2)
|
||||||
// 原始sql,即去除第一行的key与备注信息
|
// 原始sql,即去除第一行的key与备注信息
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ WHERE
|
|||||||
SELECT
|
SELECT
|
||||||
database ()
|
database ()
|
||||||
)
|
)
|
||||||
|
---------------------------------------
|
||||||
--MYSQL_TABLE_INFO 表详细信息
|
--MYSQL_TABLE_INFO 表详细信息
|
||||||
SELECT
|
SELECT
|
||||||
table_name tableName,
|
table_name tableName,
|
||||||
@@ -25,7 +25,7 @@ WHERE
|
|||||||
SELECT
|
SELECT
|
||||||
database ()
|
database ()
|
||||||
)
|
)
|
||||||
|
---------------------------------------
|
||||||
--MYSQL_INDEX_INFO 索引信息
|
--MYSQL_INDEX_INFO 索引信息
|
||||||
SELECT
|
SELECT
|
||||||
index_name indexName,
|
index_name indexName,
|
||||||
@@ -45,7 +45,7 @@ WHERE
|
|||||||
ORDER BY
|
ORDER BY
|
||||||
index_name asc,
|
index_name asc,
|
||||||
SEQ_IN_INDEX asc
|
SEQ_IN_INDEX asc
|
||||||
|
---------------------------------------
|
||||||
--MYSQL_COLUMN_MA 列信息元数据
|
--MYSQL_COLUMN_MA 列信息元数据
|
||||||
SELECT
|
SELECT
|
||||||
table_name tableName,
|
table_name tableName,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ WHERE
|
|||||||
current_schema ()
|
current_schema ()
|
||||||
)
|
)
|
||||||
AND c.reltype > 0
|
AND c.reltype > 0
|
||||||
|
---------------------------------------
|
||||||
--PGSQL_TABLE_INFO 表详细信息
|
--PGSQL_TABLE_INFO 表详细信息
|
||||||
SELECT
|
SELECT
|
||||||
obj_description (c.oid) AS "tableComment",
|
obj_description (c.oid) AS "tableComment",
|
||||||
@@ -28,7 +28,7 @@ WHERE
|
|||||||
current_schema ()
|
current_schema ()
|
||||||
)
|
)
|
||||||
AND c.reltype > 0
|
AND c.reltype > 0
|
||||||
|
---------------------------------------
|
||||||
--PGSQL_INDEX_INFO 表索引信息
|
--PGSQL_INDEX_INFO 表索引信息
|
||||||
SELECT
|
SELECT
|
||||||
indexname AS "indexName",
|
indexname AS "indexName",
|
||||||
@@ -41,7 +41,7 @@ WHERE
|
|||||||
current_schema ()
|
current_schema ()
|
||||||
)
|
)
|
||||||
AND tablename = '%s'
|
AND tablename = '%s'
|
||||||
|
---------------------------------------
|
||||||
--PGSQL_COLUMN_MA 表列信息
|
--PGSQL_COLUMN_MA 表列信息
|
||||||
SELECT
|
SELECT
|
||||||
C.relname AS "tableName",
|
C.relname AS "tableName",
|
||||||
@@ -64,7 +64,7 @@ WHERE
|
|||||||
ORDER BY
|
ORDER BY
|
||||||
C.relname DESC,
|
C.relname DESC,
|
||||||
A.attnum ASC
|
A.attnum ASC
|
||||||
|
---------------------------------------
|
||||||
--PGSQL_TABLE_DDL_FUNC 表ddl函数
|
--PGSQL_TABLE_DDL_FUNC 表ddl函数
|
||||||
CREATE OR REPLACE FUNCTION showcreatetable(namespace character varying, tablename character varying)
|
CREATE OR REPLACE FUNCTION showcreatetable(namespace character varying, tablename character varying)
|
||||||
RETURNS character varying AS
|
RETURNS character varying AS
|
||||||
|
|||||||
@@ -103,7 +103,6 @@ func (a *Account) Login(rc *req.Ctx) {
|
|||||||
})
|
})
|
||||||
biz.ErrIsNilAppendErr(err, "otp生成失败: %s")
|
biz.ErrIsNilAppendErr(err, "otp生成失败: %s")
|
||||||
res["otpUrl"] = key.URL()
|
res["otpUrl"] = key.URL()
|
||||||
// 使用otpSecret充当token进行二次校验
|
|
||||||
otpSecret = key.Secret()
|
otpSecret = key.Secret()
|
||||||
}
|
}
|
||||||
// 缓存otpInfo, 只有双因素校验通过才可返回真正的accessToken
|
// 缓存otpInfo, 只有双因素校验通过才可返回真正的accessToken
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package otp
|
package otp
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
otp_t "github.com/pquerna/otp"
|
otp_t "github.com/pquerna/otp"
|
||||||
totp_t "github.com/pquerna/otp/totp"
|
totp_t "github.com/pquerna/otp/totp"
|
||||||
)
|
)
|
||||||
@@ -17,3 +19,7 @@ func Validate(code string, secret string) bool {
|
|||||||
}
|
}
|
||||||
return totp_t.Validate(code, secret)
|
return totp_t.Validate(code, secret)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GenTotpCode(code string, secret string) (string, error) {
|
||||||
|
return totp_t.GenerateCode(secret, time.Now())
|
||||||
|
}
|
||||||
|
|||||||
@@ -18,11 +18,11 @@ func StrTrim(str string) string {
|
|||||||
return strings.Trim(str, " ")
|
return strings.Trim(str, " ")
|
||||||
}
|
}
|
||||||
|
|
||||||
// 去除字符串左右空字符与\n换行
|
// 去除字符串左右空字符与\n\r换行回车符
|
||||||
func StrTrimSpaceAndBr(str string) string {
|
func StrTrimSpaceAndBr(str string) string {
|
||||||
return strings.TrimFunc(str, func(r rune) bool {
|
return strings.TrimFunc(str, func(r rune) bool {
|
||||||
s := string(r)
|
s := string(r)
|
||||||
return s == " " || s == "\n"
|
return s == " " || s == "\n" || s == "\r"
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user