docker composeでMySQLのデータ領域をローカルにマウントする

この記事は12/1のDocker2 Advent Calendar, 12/3のHamee Advent Calendarの記事です。

こんにちは。
docker composeめちゃくちゃ便利ですよね。
Chef, Vagrant, Puppet, Ansible, Fabric…とプロビジョニングツールとか仮想化ツールを色々触ってきましたが、
それらよりずば抜けて扱いやすいと思っているツールです。

で、ローカルで開発している時に困るのが、 MySQLをはじめDBにデータを持ってもコンテナを破棄するとデータがすっ飛ぶ 問題です。
軽量なアプリの場合ならDB破棄してシード流して、、、という構成でもイケるかも知れませんが、多くの場合オーバーヘッドが大きすぎてまともに開発できなくなると思います。

Docker for Macを使用している場合はこの問題は難なく解消できるのですが、
docker-machineを使用している場合に恐らくドハマリするので、備忘録として残しておきます。

Continue Reading…

MySQLWorkbenchでエクスポートしたSQLがIncorrect table definitionエラーになったときの対処法

MySQLWorkbenchでエクスポートしたSQLがIncorrect table definitionエラーになったときの対処法

こんにちは。
今日、MySQLWorkbenchというMySQL純正ツールを使ってDDLを作っていたのですが、

GUIでテーブルを設定し、SQLにエクスポートしたら

Incorrect table definition; there can be only one auto column and it must be defined as a key

というエラーが出たのでその対処法を残します。

Continue Reading…