web学習日記

プログラミングやweb関係を学んだことを呟くブログ

cloud9からherokuへデプロイするメモ

f:id:nana205:20190614012620p:plain

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の設定が間違いないか確認しよう。