Python 克隆时无法从Heroku中提取sqlite数据
我已经在heroku部署了一个Flask应用程序,其结构如下。在Python 克隆时无法从Heroku中提取sqlite数据,python,sqlite,flask,heroku,Python,Sqlite,Flask,Heroku,我已经在heroku部署了一个Flask应用程序,其结构如下。在app文件夹中,您会注意到一个sqlite数据库文件site.db,它是我使用flask\u sqlalchemy创建的。该数据库包含一个表,当人们在我的web应用上注册帐户时,该表存储登录凭据(电子邮件和密码)(将其视为社交媒体网站) 我的应用已成功部署到heroku。当我在我的web应用上注册用户帐户时,我可以使用这些电子邮件/密码登录到我的web应用。但是,当我使用heroku git:clone-a my app name将
app
文件夹中,您会注意到一个sqlite数据库文件site.db
,它是我使用flask\u sqlalchemy
创建的。该数据库包含一个表,当人们在我的web应用上注册帐户时,该表存储登录凭据(电子邮件和密码)(将其视为社交媒体网站)
我的应用已成功部署到heroku。当我在我的web应用上注册用户帐户时,我可以使用这些电子邮件/密码登录到我的web应用。但是,当我使用
heroku git:clone-a my app name
将应用程序拉到本地计算机并在本地运行时,我无法使用在部署的web应用程序版本(my app name.herokuapp.com)上注册的相同电子邮件/密码登录。有人知道为什么会这样吗?当我使用git clone时,Heroku似乎正在提取所有文件,包括site.db
,但我在部署的应用程序上注册的电子邮件/密码似乎没有存储在登录表中
我问这个问题是因为将来如果我需要对我的社交媒体站点进行一些更改,我将使用git clone在本地拉取应用程序,对代码进行更改,然后将其推回到heroku master。但我不希望现有用户因为我必须更新应用程序而丢失他们的登录凭据。谢谢
├── Procfile
├── app
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-36.pyc
│ │ ├── forms.cpython-36.pyc
│ │ ├── models.cpython-36.pyc
│ │ └── routes.cpython-36.pyc
│ ├── forms.py
│ ├── models.py
│ ├── routes.py
│ ├── site.db
│ ├── static
│ │ ├── main.css
│ │ └── profile_pics
│ │ ├── 04e2e4347d6947a2.png
│ │ ├── 0bca0a62856cdc6e.png
│ │ └── default.jpg
│ └── templates
│ ├── about.html
│ ├── account.html
│ ├── home.html
│ ├── layout.html
│ ├── login.html
│ └── register.html
├── requirements.txt
└── run.py
我认为唯一的解决方案是使用Heroku提供的postgres数据存储。然后你可以设置app.config['SQLALCHEMY\u DATABASE\u URI']=link\u to\u db“当我在我的web应用上注册一个用户帐户时,我可以使用这些电子邮件/密码登录到我的web应用”-只是暂时的。每次你的dyno重置(每天至少一次),你的用户注册就会丢失。@Chris是的,我想我找到了一个使用Heroku内置postgres服务的解决方法。