我正在为deploy on Heroku编写一个Python Flask应用程序。它将使用数据库。对于本地开发,我希望使用Sqlite,但是当部署到Heroku时,我希望使用Postgresql。我怎样才能做到这一点?在
我卡住了,因为我不知道如何在我的box和Heroku服务器之间需要一组不同的包。在
这是我用Gemfile
编写的Ruby应用程序吗
gem "pg", :group => :production
gem "sqlite3", :group => :development
然后Bundler将在开发和生产中安装适当的软件包。但我不知道Python's pip的类似工作流
你有两件事要解决。在
首先,}进行本地开发。在
requirements.txt
这不是什么大问题。您可以在同一个requirements.txt
文件中抛出所有需求,安装两个数据库绑定不会损害任何东西。但是,如果您想分离,只需使用requirements.txt
进行部署,使用{更重要的是数据库设置本身,为此您有一个单一的解决方案:
由于
DATABASE_URL
是在Heroku上设置的,而不是在local上设置的(请确保是这样),os.environ.get
将找不到它,因此恢复为默认值,即sqlite连接字符串。在相关问题 更多 >
编程相关推荐