今日からHerokuをいじり始めました。開発環境とデプロイメントのセットアップ方法について少し混乱しています。
私はdjangoアプリに取り組んでいます。RoRではありません。
開発にはmysqlデータベースを使用し、デプロイにはpostgresを使用する必要がありますか?それとも、両方をpostgresのままにしておく必要がありますか?何を心に留めておくべきですか?
データベース構成を展開し、ローカルテストを実行するための秘訣やヒントはありますか?
ありがとう :)
今日からHerokuをいじり始めました。開発環境とデプロイメントのセットアップ方法について少し混乱しています。
私はdjangoアプリに取り組んでいます。RoRではありません。
開発にはmysqlデータベースを使用し、デプロイにはpostgresを使用する必要がありますか?それとも、両方をpostgresのままにしておく必要がありますか?何を心に留めておくべきですか?
データベース構成を展開し、ローカルテストを実行するための秘訣やヒントはありますか?
ありがとう :)
どちらの方法でも実行できます。mysql
/ sqlite
devとpostgres
prodのいずれか、またはpostgres
両方にあります。何に慣れているかによって異なります。
確実にする唯一のことは、devとprodに必要な関連するgemを分離することです。
mysql
devおよびprodに使用される場合のGemfileの部分的なコンテンツpostgres
:
group :production do
gem 'pg', '0.11.0'
end
group :development, :test do
gem 'mysql', '2.8.1'
# gem 'sqlite3-ruby', :require => 'sqlite3'
end
開発には、本番環境と同じデータベースを使用する必要があると思います。それらは必ずしも交換可能ではありません。しかし、sqliteの純粋な利便性のために、私はこのルールを自分で無視することが知られています;)
Herokuは、可能な限りローカルで同じセットアップを使用することをお勧めします:https ://devcenter.heroku.com/articles/heroku-postgresql#local-setup
ORMが詳細の多くを抽象化するのと同じように、開発/本番のパリティを設定することをお勧めします。これは、本番アプリのpg_dumpをダウンロードしてローカルで使用する場合に役立ちます。