EasyMailのインストール記事を前回書きました。
この記事の中で、設定できるユーザー権限が増えるかもしれないという予告について触れていましたが、早速バージョンアップで対応したようです。
今回追加されたのは「デモ」という閲覧のみの権限です。個人的には自身が作成したフォームのみ編集できる権限があれば嬉しいのですが、それは今後のバージョンアップに期待しましょう。
早速バージョンアップをしようと思ってもダッシュボードにそのような表示はなく、どうやら手動でファイルを置き換える作業が必要のようです。
また、ユーザーに関するDBの設計が変更されているようで、同じDBを設定すると管理者権限で入れないことがわかりました。MySQL側での設定が必要になりました。
バージョンアップの手順
バージョンアップはダッシュボードから自動で行える機能は今のところなく、公式サイトから最新バージョンのファイルをダウンロードして、サーバーにアップロード、再度セットアップするという手順が必要です。
試しにセットアップをせずにDBのアクセス情報が記述されたファイル (\config\database.php) 以外のファイルを置き換えるというのを試しましたが、ログインページが正しく表示されませんでした。
アップロードと削除にはかなりの時間を要するので、アクセスできない時間を短くするのであれば、
- 1が完了したらもう一つ適当なフォルダを作成してバージョンアップ前のファイルをすべて移動
- 1のファイルを、元々バージョンアップ前のファイルがあったフォルダに移動
- ブラウザからアクセスしてセットアップを実行
- 適当なフォルダを作成して最新バージョンのファイルをアップロード
この行程が最も早いと思います。フォルダ間のファイル移動はそれほど時間がかかりませんので、移行の時間を短くできますし、失敗したとしてもすぐに元の状態に戻せます。
このときに、編集したテーマがあればそのファイルを取り置いておきましょう。バージョンアップ後にフォルダへ戻すことで引き続き使うことができます。
バージョン情報はダッシュボードのトップに表示されています。こちらはバージョンアップ前。
こちらがバージョンアップ後。この画面が表示されれば無事成功です。
ユーザー権限の設定
これだけで済むのであればわざわざ今回のような記事化はしませんでした。
作ったフォームを引き続き使うわけですから、セットアップ時に元々使っていたDBで設定を行いました。
するとダッシュボードのメニューにプラグインとユーザーが表示されないではありませんか。つまり管理者権限で設定したはずのユーザーが管理者権限で入れなくなっているということです。
この現象はまっさらなDBでセットアップすれば起きません。ということは元から使用していたDBでは不備があるということです。
ユーザーに関するDB構造
というわけでphpMyAdminでDBの構造を確認します。
ここからしばらく確認のターンなので、手っ取り早く設定方法について知りたい方は「設定の変更」の見出しまで飛んでください。
user
まずはこちらがバージョンアップ前の「user」というテーブルの構造です。
# | 名前 | データ型 | 照合順序 | 属性 | NULL | デフォルト値 | その他 |
---|---|---|---|---|---|---|---|
1 | id | bigint(20) | UNSIGNED | いいえ | なし | AUTO_INCREMENT | |
2 | name | varchar(255) | utf8mb4_unicode_ci | いいえ | なし | ||
3 | varchar(255) | utf8mb4_unicode_ci | いいえ | なし | |||
4 | email_verfied_at | timestamp | はい | NULL | |||
5 | password | varchar(255) | utf8mb4_unicode_ci | いいえ | なし | ||
6 | two_factor_secret | text | utf8mb4_unicode_ci | はい | NULL | ||
7 | two_facrot_recovery_codes | text | utf8mb4_unicode_ci | はい | NULL | ||
8 | remember_token | varchar(255) | utf8mb4_unicode_ci | はい | NULL | ||
9 | created_at | timestamp | はい | NULL | |||
10 | updated_at | timestamp | はい | NULL | |||
11 | lanuguage | varchar(255) | utf8mb4_unicode_ci | いいえ | なし | ||
12 | role | int(11) | はい | NULL | |||
13 | login_flag | int(11) | いいえ | なし |
続いてバージョンアップ後。
# | 名前 | データ型 | 照合順序 | 属性 | NULL | デフォルト値 | その他 |
---|---|---|---|---|---|---|---|
1 | id | bigint(20) | UNSIGNED | いいえ | なし | AUTO_INCREMENT | |
2 | name | varchar(255) | utf8mb4_unicode_ci | いいえ | なし | ||
3 | varchar(255) | utf8mb4_unicode_ci | いいえ | なし | |||
4 | email_verfied_at | timestamp | はい | NULL | |||
5 | password | varchar(255) | utf8mb4_unicode_ci | いいえ | なし | ||
6 | two_factor_secret | text | utf8mb4_unicode_ci | はい | NULL | ||
7 | two_facrot_recovery_codes | text | utf8mb4_unicode_ci | はい | NULL | ||
8 | remember_token | varchar(255) | utf8mb4_unicode_ci | はい | NULL | ||
9 | current_team_id | bigint(20) | UNSIGNED | はい | NULL | ||
10 | profile_photo_path | varchar(2048) | utf8mb4_unicode_ci | はい | NULL | ||
11 | login_flag | int(11) | いいえ | なし | |||
12 | created_at | timestamp | はい | NULL | |||
13 | updated_at | timestamp | はい | NULL | |||
14 | lanuguage | varchar(255) | utf8mb4_unicode_ci | いいえ | なし |
バージョンアップ前にはあった「role」が消えて、「current_team_id」と「profile_photo_path」が増えています。カラムの順番も変わってますね。
おそらくユーザー権限に関しては、これまで「role」だったのが「current_team_id」に置き換わったようです。
team_user
また、team_userとteamsというテーブルがバージョンアップ前からありましたが、正常にバージョンアップしたものでは行が追加されていました。これらも追加が必要そうです。
カラム | 値 |
---|---|
id | 1 |
team_id | 1 |
user_id | 1 |
role | admin |
created_at | 作成日時 |
updated_at | 更新日時 |
teams
カラム | 値 |
---|---|
id | 1 |
user_id | 0 |
name | easy_mail |
personal_team | 0 |
created_at | 作成日時 |
updated_at | 更新日時 |
設定の変更
それではここからが設定の変更内容のまとめです。
「user」テーブル
「role」を「current_team_id」に変更
userテーブルを開き、構造タブから「role」の変更をクリック。
こんな感じで設定します。
名前 | current_team_id |
データ型 | BIGINT |
長さ/値 | 20 |
デフォルト値 | NULL |
属性 | UNSIGNED |
NULL | チェック |
カラムを移動させる | ‘remember_token’ |
「profile_photo_path」の追加
構造タブの下の方にカラム追加の項目があります。ここで1個のカラムを追加します。
位置は先ほど変更した「current_team_id」の後に設定します。
こんな感じで設定します。
名前 | profile_photo_path |
データ型 | VARCHAR |
長さ/値 | 2048 |
デフォルト値 | NULL |
照合順序 | utf8_general_ci |
NULL | チェック |
「team_user」テーブル
挿入タブからこのように入力して行を追加します。
id | 値 | 1 |
team_id | 値 | 1 |
user_id | 値 | 1 |
role | 値 | admin |
created_at | 関数 | CURRENT_TIME |
updated_at | 関数 | CURRENT_TIME |
「teams」テーブル
同様に「teams」テーブルでも挿入タブからこのように行を追加します。
id | 値 | 1 |
user_id | 値 | 0 |
name | 値 | easy_mail |
personal_team | 値 | 0 |
created_at | 関数 | CURRENT_TIME |
updated_at | 関数 | CURRENT_TIME |
以上の設定で管理者権限で入れるようになりました。
他に変更しないといけない箇所があるかもですが、とりあえずこれでいいと思います。
もし他にもあったら追記しようと思います。
コメント