cloud9からherokuへデプロイするメモ
herokuにログイン
まず初めにherokuにログインします。
$heroku login heroku: Enter your login credentials Email [メールアドレス]: Password: ***********
それができたらでデプロイです。
コードをデプロイ
今回はgitコマンドを使う
$git add . $git commit -am "make it better" $git push heroku master
これでデプロイ完了 次にデータベースのエクスポートインポートをします。
データベースエクスポートとインポート
ますcloud9のローカル開発環境のデータベースからエクスポートする ※必ずバックアップを取っておく
$ mysqldump -u testuser -p testdb > export.sql
この一発でエクスポートできる そしたら次にインポートだが、これはheroku側のCreaDBに接続させる必要がある そのために以下のコマンドを入力するとCreaDBの情報がでる
$heroku config
mysql://ユーザー名@ホスト名/データベース名?reconnect=true
これをCakePHPのapp.ctpデータベース設定の場所を herokuのデータベース設定に書き換える
'host' => 'herokuホスト名', 'username' => 'herokuユーザー', 'password' => 'herokuパスワード', 'database' => 'herokuデータベース名',
それができたらCreaDBにインポートする※この時入力をよく確認すること
mysql --host=ホスト名 --user=ユーザー名 --password=パスワード データベース名 <export.sql
CreaDBに入るコマンド
$ mysql --host=ホスト名 --user=ユーザー名 --password=パスワード データベース名
これでCreaDBに入れる そしたら最初と同じように
$git add . $git commit -am "make it better" $git push heroku master
すると無事にデータベースがインポートされる
CreaDBにインポートするときに間違えた時の対処法
これがどこか間違えるとうまくインポートできない
mysql --host=ホスト名 --user=ユーザー名 --password=パスワード データベース名 <export.sql ERROR 1045 (28000): Access denied for user 'b16c500becd6eb'@'ec2-35-173-247-111.compute-1.amazonaws.com' (using password: YES)
アクセスが拒否されるのでユーザー名やパスワードデータベース名が間違いないかまたapp.ctpの設定が間違いないか確認しよう。