データベース管理ソフト「Exment」を MySQL 8.0.23 でも入れたい!
最近、趣味でもプログラミングをしているのですが、無料のソフトウェアである、「オープンソースソフトウェア(OSS)」をカリカリしている僕です。
そんな中、PHPのオープンソースソフトウェア「Exment(エクスメント)」というアプリに出会いました。
Exment | エクスメント – システム無料、基本機能充実。シンプルで軽快なオープンソースWebデータベースをあなたに
すべてのデータ管理を塗り替える
PHPのオープンソースのフレームワーク「Laravel製」のソフトウェアです。
Excel や Google ドキュメントなどの表計算の伝票や、ちょっとしたデータの登録などをこちらのソフトウェアに置き換えることで、脱スプレッドシート管理ができる!というものです。
また、データベースの項目などは自由に登録、編集、削除ができるので、自分の思っているデータベースとしてかんたんにカスタマイズが可能です。
さらに、仕事上で使うことのできる「顧客管理」「タスク管理」個人でも使える「スケジュール管理」などが使用できます。個人で使う分にはもちろん、オフィスでも使えるのが魅力的です。
バージョンチェックでエラー…
Exment をインストールするとぶつかるのが、MySQL のバージョンの壁。
Exment は、公式では MySQL のバージョンが、5.7.8 ~ 8.0.0 と限られています。自分の環境では、最近 MySQL のバージョンアップを実施しており、 8.0.23 となっていました。
mysql –version
mysql Ver 8.0.23 for Linux on x86_64 (MySQL Community Server – GPL)
これではインストールができないということで、中身を見ることに。
バージョンチェックをしているところを無理やり書き換える
Exment を格納しているディレクトリに移動して、
「vi vendor/exceedone/exment/src/Model/Define.php」 と入力し、エディタを開きます。
DATABASE_VERSION という定数の箇所の max_lt という箇所が、データベースのアプリケーションで使用できる上限値。この場所を上げることで上位バージョンのインストールも可能となります。
※僕の場合は、8.0.23 だったので、「8.0.99」に変更して、無事次の画面に進みました
※システム値の変更は自己責任です。変更によりシステム動作が不安定になることがあります
public const DATABASE_VERSION = [
'mysql' => ['min' => '5.7.8', 'max_lt' => '8.0.0'], <====★
'mariadb' => ['min' => '10.2.7'],
'sqlsrv' => ['min' => '13.0.0.0'],
];
public const PHP_VERSION = [
'7.1.3',
'7.5.0',
];
public const CUSTOM_TABLE_ENDPOINTS = [
'column',
'copy',
'form',
'formpriority',
'formpublic',
'operation',
'relation',
'view',
'data',
];
public static function FILE_OPTION()
{
// get max size
これを行うことで、インストール中のエラーメッセージも出てこなくなり、次のステップを次に進むことができます。
インストール前に 500 エラーが出ることがある
No application encryption key has been specified.となったときの対応方法 – Qiita
エラーログを見ると「No application encryption key has been specified」と出たことがありました。
上記の通り、.env ファイルがなかったせいで、インストールディレクトリの直下に「.env」ファイルを生成する、APP_KEY を生成することで解決します。
cat .env
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
APP_DEBUG=true
APP_URL=http://localhost
APP_LOCALE=ja
APP_TIMEZONE=Asia/Tokyo