mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 08:20: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