個人的Tipsまとめ。PHP多め
PHP Unitの実行コマンド忘れちゃった
// 全テストを実行
./vendor/bin/phpunit
// 特定ファイルのpathの指定ができる
./vendor/bin/phpunit {path}
// filterでメソッドの指定もできる
./vendor/bin/phpunit --filter={method name} {path}
PHP Unitの実行時に「MySQL server has gone away in」のエラーが出る
Fixtureの容量が大きすぎてSQLが実行できていない可能性がある
Mysql側で許容しているパケットの最大値を確認して、増やそう
// 確認
show variables like 'max_allowed_packet';
// 変更 ↓は16MB
set global max_allowed_packet = 16777216;
ローカル環境でDBコンテナに接続できない
これはもうやらない?
// mysqlコンテナのIPAddressを確認する
// "IPAddress"を控える
docker inspect mysql
// ソース内の接続ホストを書き換える
'host' => env('MYSQL_PORT_3306_TCP_ADDR', 'XXX.XX.X.X'),
phpunittestの実行がno such file or directoryとなり表示されない
vender/配下のファイルの改行コードがCRLFになっているのが問題?
解決策としては一旦、vender配下の削除をして、インストールし直せば解決する
rm -rf vendor/
composer install
composer update
Jenkins実行時にサーバのスペースが足りない
対象のサーバで下記のコマンドを実行
下記のコマンドで使用していないdockerのイメージ、コンテナ、ボリューム、ネットワークの削除をすることができる
docker system prune -af
VM内でスペース容量が足らなくて困ったら
ゲストOS内で下記のコマンドを実行
docker system prune -af
Mysqlの暗号化・復号化のSQLってなんだっけ
// 暗号化
update {table} SET {column} = HEX(AES_ENCRYPT('{value}', '{key}')) where XXXX;
// 復号化
select convert(AES_DECRYPT(UNHEX({column}), '{key}') USING utf8) from {table} where XXXX;
Mysqlをdumpしたい
mysqldump --single-transaction -u {user} -p -h {host} {db} -P {port} > {出力先}
シンボリックリンクを貼ったり、削除したりしたい
// 作成
ln -s {貼る元} {貼る先}
// 削除
unlink
Mysqlで1ヶ月後や、1ヶ月前にデータを更新したい
// 1ヶ月後
UPDATE
Table
SET
date_at = (date_at + INTERVAL 1 MONTH)
// 1ヶ月前
UPDATE
Table
SET
date_at = (date_at - INTERVAL 1 MONTH)