トラブルシューティング調査で、MySQLに構築したとあるテーブルのcreatedとmodifiedの差分計算をしたい時がよくある。他にもcreatedとNOW()の差分を出したい時なんかもあるのだけど、そんな時に便利な関数を見つけたので紹介。検証したMySQLバージョンは5.7.26。
MySQLのTIMESTAMPDIFF()関数を使うと、日時同士の差分計算がしやすくて便利

トラブルシューティング調査で、MySQLに構築したとあるテーブルのcreatedとmodifiedの差分計算をしたい時がよくある。他にもcreatedとNOW()の差分を出したい時なんかもあるのだけど、そんな時に便利な関数を見つけたので紹介。検証したMySQLバージョンは5.7.26。
MySQLでInnoDBのデータベースをダンプしようとした時の話。
mysqldump -uhogehoge -pfugafuga -h masyus.work > dump.sql
シンプルに書くとこんな感じのコマンドになるかと思うが、実はちょっとしたLOCKの罠があったので解説してみる。検証したMySQLバージョンは5.7.26、データベースはInnoDBを使用。
slickのような画像を一定時間毎に差し替えて表示する処理で、読み込みたい画像ファイルの設定情報を配列で下記のように持たせていたとする:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $setting = [ [ 'image_url' => '/img/display_1.jpg', 'link_url' => 'https://masyus.work/pages/1', ], [ 'image_url' => '/img/display_2.jpg', 'link_url' => 'https://masyus.work/pages/2', ], [ 'image_url' => '/img/display_3.jpg', 'link_url' => 'https://masyus.work/pages/3', ], ]; return $setting; ?> |
この中に、2020/07/01 00:00:00から2020/07/31 23:59:59までの期間限定で、display_z.jpgという画像を2番目に表示させるようにしたいというニーズをマーケティング側から受け取ったとする。さてどのように実装するか?
CakePHP3でよく使うデバッグコードといえばpr()や$this->log()。だが、デバッグしたい箇所によってはこれが使えない場合もある。今回は筆者の経験上
「こういう時はこのデバッグコードを使うのが鉄板!」
と思われるデバッグコードを紹介する。検証したCakePHPのバージョンは3.6.13。
先日CakePHP3でrename table文を発行したいニーズがあり、Migrationファイルでどう書けば良いかを調べたのでメモがてら残しておく。Phinxに定義されているメソッドを把握する必要があるため、Cakeの公式ドキュメントから具体的な解説を辿るのに少々時間がかかった。検証したCakePHPのバージョンは3.6.13、データベースはMySQL。