説明
ローカルテストコードには問題ありませんが、エラー時にサーバーにデプロイする場合。エラー
> cross-env WEBPACK_TARGET=node NODE_ENV=production node ./server/app.js
true
the server is start at port 3333
/usr/share/nginx/nav/server/node_modules/koa-mysql-session/node_modules/co/index.js:292
throw err;
^
Error: ER_INDEX_COLUMN_TOO_LONG: Index column size too large. The maximum column size is 767 bytes.
理由:MySQLの違いのバージョンは、サーバー上のローカル5.7、5.6によって引き起こされているため。4年前のKOA-mysqlのセッションパッケージ、推奨されません。
デフォルトの767bytesを超えることはできません5.6、5.7 3072bytesを超えていない:単一列のインデックスの長さを制限
:解決
mysql_session_storeマニュアルを作成CREATE TABLE `_mysql_session_store` ( `id` varchar(255) NOT NULL,
`expires` bigint(20) DEFAULT NULL,
`data` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;:リファレンスMySQLで長さの制限インデックス
推奨: