Adjust MySQL key lengths to 191 characters master github/master
Josh Lavin [Sat, 17 Feb 2018 00:12:57 +0000 (16:12 -0800)]
- since default encoding is utf8mb4:
    ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
- the max index prefix length is 767 bytes
- utf8mb4 max character length is 4 bytes, so 4*191 = 764
- per: https://stackoverflow.com/a/31474509

dist/strap/dbconf/mysql/userdb.mysql

index 66153e3..03ce40d 100644 (file)
@@ -1,7 +1,7 @@
 Database  userdb  userdb.txt   __SQLDSN__
 Database  userdb  DEFAULT_TYPE varchar(255)
-Database  userdb  COLUMN_DEF   "username=varchar(255) NOT NULL PRIMARY KEY"
-Database  userdb  COLUMN_DEF   "usernick=varchar(255)"
+Database  userdb  COLUMN_DEF   "username=varchar(191) NOT NULL PRIMARY KEY"
+Database  userdb  COLUMN_DEF   "usernick=varchar(191)"
 Database  userdb  COLUMN_DEF   "password=varchar(64) NOT NULL"
 Database  userdb  COLUMN_DEF   "expiration=varchar(32)"
 Database  userdb  COLUMN_DEF   "accounts=BLOB"
@@ -30,7 +30,7 @@ Database  userdb  COLUMN_DEF   "created=varchar(32)"
 Database  userdb  COLUMN_DEF   "credit_limit=varchar(16)"
 Database  userdb  COLUMN_DEF   "db_acl=BLOB"
 Database  userdb  COLUMN_DEF   "dealer=varchar(32)"
-Database  userdb  COLUMN_DEF   "email=varchar(255)"
+Database  userdb  COLUMN_DEF   "email=varchar(191)"
 Database  userdb  COLUMN_DEF   "fax=varchar(30)"
 Database  userdb  COLUMN_DEF   "file_acl=BLOB"
 Database  userdb  COLUMN_DEF   "fname=varchar(30)"