【问题标题】:Unable to pull sqlite data from Heroku when cloning克隆时无法从 Heroku 中提取 sqlite 数据
【发布时间】:2021-03-04 12:44:41
【问题描述】:

我已经使用以下结构将 Flask 应用程序部署到 heroku。在app 文件夹中,您会注意到我使用flask_sqlalchemy 创建的sqlite 数据库文件site.db。该数据库包含一个表,当人们在我的网络应用程序上注册帐户时(将其视为社交媒体网站),该表存储登录凭据(电子邮件和密码)。

我的应用已成功部署到 heroku。当我在我的网络应用程序上注册用户帐户时,我可以使用这些电子邮件/密码登录我的网络应用程序。但是,当我使用heroku git:clone -a my-app-name 将应用程序拉到我的本地计算机并在本地运行时,我无法使用在我的 Web 应用程序的部署版本(my-app-名称.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

【问题讨论】:

  • “当我在我的网络应用程序上注册用户帐户时,我可以使用这些电子邮件/密码登录我的网络应用程序”——只是暂时的。每次您的测功机重置时(每天至少一次),您的用户注册都会丢失。
  • @Chris 是的,我想我找到了一种解决方法,我使用 Heroku 的内置 postgres 服务。

标签: python sqlite flask heroku


【解决方案1】:

我认为唯一的解决方案是使用 Heroku 提供的 postgres 数据存储。然后你可以设置 app.config['SQLALCHEMY_DATABASE_URI'] = link_to_db

【讨论】:

    猜你喜欢
    • 2020-05-17
    • 1970-01-01
    • 2012-06-05
    • 2020-03-24
    • 1970-01-01
    • 2015-09-10
    • 2016-09-25
    • 2018-04-13
    • 2021-01-28
    相关资源
    最近更新 更多