Djangoでアプリを作成し、VPS上にデプロイし、問題なく動くことを確認できました。
ただ、今後も改良を加えていくことになるので、今後アップデートする場合の実務について、知りたいです。
私は、今回のデプロイにおいては、下記の手順でやりました。
①ローカルPC上からGithub上に、git push でGitHubにアップロードする(ディレクトリ丸ごと)
②VPS上に、git clone する。
③nginx と gunicorn で動くように、settings.pyを調整。
④nginx と gunicornで稼働。
現在、データベースは、sqlite3を使っており、GitHubにアップロードする時に、一緒にpushし、VPS上にcloneされています。
現状、これで問題なく動いています。
しかし、今後、ローカルPC上で改良を加えて、それをVPS上に適用させる時、どうすればよいのかと疑問に思いました。
公開されているので、アップデートされる前のデータは全て維持しておく必要があります。
私が考えた方法は、下記のとおりです。
①ローカルPCからGitHubにpushする前に、ディレクトリからsqlite3を除いておく。
②上記ディレクトリを、GItHubにpushする。
④VPS上に、GitHubからcloneする。
これで、VPS上のファイルは、sqlite3を除いて、全てローカルPCのものと同じになる。
VPS上のsqlite3だけ、古いものが残される(※)
⑤python manage.py makemigrations app
python manage.py migrate
でVPS上の sqlite3をアップデートされた仕様に変更する(もともと入っていたデータは残る)。
ディレクトリは、下記の構成で、これを丸ごとpush、cloneしています。
test_ test
| _ testapp
|_ _ db.sqlite3 ←これを今後のpush、clone時には外す。 |_ _ manage.py
一般的な実務が分からないので、上記のように考えてみましたが、
上記の方法で更新をすると、問題はあるのでしょうか?
後、気になるのは、db.sqlite3がない状態のものをVPSにcloneすると、
VPS上のdb.sqlite3は消えてしまうのでしょうか?
お分かりの方、ご教示頂ければ幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/21 09:56