これは何?
こちらはdocker composerで作成したRails,MySqlコンテナ、自分がターミナルで操作するコマンドの自分用メモです。
コンテナの操作
コントローラー作成
controller_nameは自分で定義する
$ docker-compose run --rm web rails generate controller controller_name
web : docker-compose.ymlに定義したservices名
Model作成
model_nameは自分で定義する 引数にname:stringとかでnameカラムを作れます。
$ docker-compose run --rm web rails generate model model_name name:string
Modelカラム名変更
$ docker-compose run --rm web rails generate migration rename_[変更前のカラム名]_column_to_[モデル名(複数形)]
ルーティング変更
config/routes.rbを編集後実行
$ docker-compose run --rm web rake routes
DB作り
$ docker-compose run --rm web rake db:create
マイグレーション
$ docker-compose run --rm web rake db:migrate
seed実行
$ docker-compose run --rm web rake db:seed
DB接続
コンテナへSSH接続 〜 mysqlコンテナ内でmysqlコマンド実行
SSHで接続
$ docker exec -it $MYSQL_CONTAINER_NAME bash
でコンテナ内部に入り。
$MYSQL_CONTAINER_NAME は $ docker ps で調べる($ docker-compose ps ではなく)
作成したMySQLユーザでmysqlコマンドをいれる
$ mysql -uroot -p db_name
MySql workbenchで接続
docker-compose.ymlのportを
.
.
.
ports:
- "3306:3306"
で設定して(別のポート使うとworkbenchが接続できなくなる)、
workbenchのconnectionsの設定は以下のように
Connection Method: Standard を選択
Hostname : 127.0.0.1
Port : 3306(docker run時の特に指定してなければ)
Username : root
Password : docker run時の指定した環境変数