朝霞市在住のWEB系エンジニアかあさんのPHPメインの雑記帳

ITかあさん

最新記事

docker MySQL 後からバージョンをかえる

docker-compose.yml に記載しておいたMySQLのバージョンを後からやっぱり変えたい時。

Laravel5.4とMySQL5.6では相性が悪いので、MySQLのバージョンを上げることになったので、なんとなくメモ。
Laravel5.4から標準のcharasetがutf8mb4に変わったことに起因します

そこで、あとからやっぱりMySQLのバージョンを変更したい時の手順です。

docker imageなければ追加

docker pull mysql:5.7
docker-compose.ymlのMySQLのバージョンを5.7に変更
docker stop mysql56 docker
docker rm mysql56 docker
docker-compose up -d

一度MySQLコンテナごと破棄しているので、もう一度migrationを実行する必要があります。

Vue.jsでtoggleClass

Clickをしたら、特定の要素にclassが付与されて、もう一度clickしたら付与したClassが消える、JavaScript書いたことがある人なら誰しもが書いたことがあるであろう、あの処理をVue.jsで。

:class=”{‘is-active’: true}

is-classはtureの時にバインドされます。

メールのテストに最適なmailtrap

メールのテストに最適なmailtrap

メールの絡んだシステム開発中、即座にサーバーが準備できればいいですが、そうも行かない時。
ログでもいいのでしょうが、HTMLメールのテストなんかはやっぱりログは最適な方法とは言えません。

以前はログから確認していたのですが、今はmailtrapというサービスを使っています。

無料でも使うことができ、メール数の制限とInboxと呼ばれるメールボックスは1つしか持てないという制限はありますが、ちょっとしたテストであれば十分使うことができます。


inboxを開くと、SMTPサーバーと、POP3サーバーの情報が表示されるので、これを開発用メールサーバーとして設定すればOKです。

サーバーを設定しておけば、あとはmailtrapの画面上からメールが確認できます。

Webアプリの開発においても、メールサーバーの設定は面倒だし、GmailのSMTPも厳しくなったのかローカル環境では使えませんし、開発中にすぐ使いたいとなったらこれが一番便利な気がします。

RailsのDatabaseをMySQLにして、パスワードをdotenvで定数化する

RailsのDatabaseをsqlite3からMySQLにして、パスワードをdotenvで定数化する

gem追加

MySQLを使えるようにするためにmysql2
環境変数としてdotenv-rails
gemをそれぞれインストールします。

gem mysql2
gem dotenv-rails

database.yml

アプリケーションのルートディレクトリに.env ファイルを追加

DATABASE_DEV_PASSWORD = 'database_password'
DATABASE_DEV_USER = 'database_user'
DATABASE_DEV_NAME = 'database_name'
DATABASE_DEV_HOST = 'database_host'

.envはcommit対象から除外すべきなので、 .gitignoreに.envを追加します。

以上がMySQLにDatabaseを変更し、Databaseのユーザー名、パスワードをdoenvで環境変数化する手順です