From aa53d0978c85818c954bb87990b389f8acd11c5e Mon Sep 17 00:00:00 2001 From: m2nlight Date: Sat, 10 Mar 2018 04:44:07 +0800 Subject: [PATCH] models: add ROW_FORMAT=DYNAMIC when creating table for supports mysql 5.6 (#4913) * Add ROW_FORMAT=DYNAMIC when creating table for supports mysql 5.6 (fix #4894) * Update models.go Rename NewEngine2 to NewEngineWithParams * Rename NewEngine2 to NewEngineWithParams Please update vendor when https://github.com/go-xorm/xorm/pull/798 closed. * Update dialect_mysql.go * Update dialect_mysql.go * Update models.go --- models/models.go | 2 ++ scripts/mysql.sql | 3 +++ 2 files changed, 5 insertions(+) diff --git a/models/models.go b/models/models.go index 10a3d58a0..6fcd26194 100644 --- a/models/models.go +++ b/models/models.go @@ -140,6 +140,8 @@ func getEngine() (*xorm.Engine, error) { connStr = fmt.Sprintf("%s:%s@tcp(%s)/%s%scharset=utf8mb4&parseTime=true", DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name, Param) } + var engineParams = map[string]string{"rowFormat": "DYNAMIC"} + return xorm.NewEngineWithParams(DbCfg.Type, connStr, engineParams) case "postgres": host, port := parsePostgreSQLHostPort(DbCfg.Host) if host[0] == '/' { // looks like a unix socket diff --git a/scripts/mysql.sql b/scripts/mysql.sql index 98e7bc396..e3f23ce0c 100644 --- a/scripts/mysql.sql +++ b/scripts/mysql.sql @@ -1,2 +1,5 @@ +SET GLOBAL innodb_file_per_table = ON, + innodb_file_format = Barracuda, + innodb_large_prefix = ON; DROP DATABASE IF EXISTS gogs; CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;