为什么每次部署后都会重置数据库? - python

我是刚部署到aws和flask的人。基本上,我有一个简单的Flask应用程序,但是每次我进行更改并将新代码部署到AWS Elastic beantalk时,数据库都会重置。

from dateutil import parser
from datetime import datetime
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from flask_cors import CORS
import os

application = app = Flask(__name__)
basedir = os.path.abspath(os.path.dirname(__file__))

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'db.sqlite')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
ma = Marshmallow(app)
cors = CORS(app)

@app.route('/')
def hello():
    return 'hello'

.
.
.


class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    weight = db.Column(db.Float)
    workouts = db.relationship('Workout', backref='user', lazy=True)

    def __init__(self, name, weight):
        self.name = name
        self.weight = weight

class UserSchema(ma.Schema):
    class Meta:
        fields = ('id', 'name', 'weight')

user_schema = UserSchema(strict=True)
users_schema = UserSchema(many=True, strict=True)
.
.
.


db.create_all()

if __name__ == '__main__':
    app.run(debug=True)

我希望每次我
eb deploy flask-env我的数据库不会重置,但确实如此。例如,如果我创建一个用户,然后在代码中进行某些更改并进行部署,则该用户将消失。

参考方案

你应该:

创建一个EBS卷
将数据库加载到该卷中
使用.ebextension将EBS卷附加到Beanstalk应用程序。一个示例可以是found here。

综上所述,这不是一个高度可用的,架构良好的解决方案,并且会迅速恶化。

在将来出现问题之前,您可能希望在将来的某个时候用RDS实例替换SQLite。

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

Flask-RESTful-返回自定义响应格式 - python

我已经按照以下Flask-RESTful文档定义了自定义响应格式。app = Flask(__name__) api = restful.Api(app) @api.representation('application/octet-stream') def binary(data, code, headers=None): resp =…

Python:传递记录器是个好主意吗? - python

我的Web服务器的API日志如下:started started succeeded failed 那是同时收到的两个请求。很难说哪一个成功或失败。为了彼此分离请求,我为每个请求创建了一个随机数,并将其用作记录器的名称logger = logging.getLogger(random_number) 日志变成[111] started [222] start…

Python-Excel导出 - python

我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…

Python:如何根据另一列元素明智地查找一列中的空单元格计数? - python

df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice','Jane', 'Alice','Bob', 'Alice'], 'income…