diff --git a/Makefile b/Makefile index ff93f181..13583eba 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ TEST_MSSQL_PASSWORD ?= MwantsaSecurePassword1 TEST_MSSQL_DEFAULT_VARCHAR ?= varchar TEST_MSSQL_DEFAULT_CHAR ?= char TEST_MSSQL_DO_NVARCHAR_OVERRIDE_TEST ?= true +TEST_MSSQL_COLLATION ?= SQL_Latin1_General_CP1_CS_AS TEST_MYSQL_HOST ?= mysql:3306 TEST_MYSQL_CHARSET ?= utf8 @@ -152,6 +153,7 @@ test-mssql: go-check -conn_str="server=$(TEST_MSSQL_HOST);user id=$(TEST_MSSQL_USERNAME);password=$(TEST_MSSQL_PASSWORD);database=$(TEST_MSSQL_DBNAME)" \ -default_varchar=$(TEST_MSSQL_DEFAULT_VARCHAR) -default_char=$(TEST_MSSQL_DEFAULT_CHAR) \ -do_nvarchar_override_test=$(TEST_MSSQL_DO_NVARCHAR_OVERRIDE_TEST) \ + -collation=$(TEST_MSSQL_COLLATION) \ -coverprofile=mssql.$(TEST_QUOTE_POLICY).coverage.out -covermode=atomic -timeout=20m .PNONY: test-mssql\#% diff --git a/tests/tests.go b/tests/tests.go index bcb70e78..1d6b5f67 100644 --- a/tests/tests.go +++ b/tests/tests.go @@ -39,6 +39,7 @@ var ( quotePolicyStr = flag.String("quote", "always", "quote could be always, none, reversed") defaultVarchar = flag.String("default_varchar", "varchar", "default varchar type, mssql only, could be varchar or nvarchar, default is varchar") defaultChar = flag.String("default_char", "char", "default char type, mssql only, could be char or nchar, default is char") + collation = flag.String("collation", "", "default database collation, it's different for different database") tableMapper names.Mapper colMapper names.Mapper ) @@ -54,7 +55,7 @@ func createEngine(dbType, connStr string) error { if err != nil { return err } - if _, err = db.Exec("If(db_id(N'xorm_test') IS NULL) BEGIN CREATE DATABASE xorm_test; END;"); err != nil { + if _, err = db.Exec(fmt.Sprintf("If(db_id(N'xorm_test') IS NULL) BEGIN CREATE DATABASE xorm_test COLLATE %s; END;", *collation)); err != nil { return fmt.Errorf("db.Exec: %v", err) } db.Close()