MariaDB – DEFAULT CURRENT_TIMESTAMP

WordPressのプラグイン制作、なかなか手ごわいです。独自の書き方を学ばないといけないので、慣れるまで調べることが非常に多いです。

WordPressはデフォルトでjQueryが読み込まれるのですが、そのバージョンが1.12.4でとても古いのです。今後、jQuery依存のライブラリを利用するときに、バージョンの問題で使えないといったことが起こると困るので、最新のものを読み込もうとしたのですが、そのためにはまず古いものを読み込まないという処理をしなければなりません。

たったそれだけのことでも上記のような感じで、独自の関数をいくつか利用して書かなければならないのです。これが本当にわけがわからない。

WordPress Codex 日本語版

一応、リファレンスも用意されているのですが、どこになんの項目があるのか分かり辛い上に、解説が難解で理解するまでに時間がかかるのです。

プラグインをサクッと完成させてから、Game Usersの開発も進めていこうと思っていたのですが、世の中そんな簡単には行かないもんですね。作っているうちに追加したい機能も増えてきたので、当初思ってたよりずっと時間がかかってしまうかもしれません。

MariaDB 日時のデフォルト値


プラグインで使うデータベースのテーブルを作成するコードは以下になるのですが、これを書いているときに、便利な日時のデフォルト値の設定方法を知りました。

datetime_renewal DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL

データベースの日時のデフォルト値をこのように設定しておけば、Updateするだけで自動的に日時が更新されることを知って、ちょっとしたショックを受けました。今までデータベースを更新するたびに 0000-00-00 00:00:00 形式で日時を作成してから保存してたのに、あの手間はなんだったんだという。

すごく便利なので、みなさんもぜひ使ってみてください。


追記: 記事を書いてすぐに、これってもしかして新しい機能なんじゃないかと気になって調べてみたところ、MySQL5.6.5からの機能でした。またMySQLが古い環境だと、DEFAULT CURRENT_TIMESTAMPが2つあるとエラーが出るようなので、どのみち上に挙げたSQL文は使えません。

公式によるとWordPressの推奨環境は、MySQL 5.6 / MariaDB 10.0以上ですが、MySQL 5.2.4でも動くようです。プラグインは環境が様々なので、ちゃんと考えてコードを書かないとダメですね。

 

プラグインの設定画面

プラグインの制作は設定画面を表示するところまで来ました。Bootstrapのタブを利用しています。これから設定画面の中身を作っていきます。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)