Flask 烧瓶-和#x27;请编辑配置/连接/日志设置';在';烧瓶db初始值';

Flask 烧瓶-和#x27;请编辑配置/连接/日志设置';在';烧瓶db初始值';,flask,flask-sqlalchemy,alembic,marshmallow,flask-migrate,Flask,Flask Sqlalchemy,Alembic,Marshmallow,Flask Migrate,在过去的三天里,我一直在试图弄明白这一点,但似乎无法理解。我已经在这里和其他地方无数次地查看了关于同一问题的其他帖子(见、、等),显然我自己也无法理解。因此,我们在这里,任何帮助将不胜感激 项目结构: /project-path/ /app.py /config.py /.flaskenv /app/__init__.py /app/models.py /app/routes.py config.py import os from dotenv import load_

在过去的三天里,我一直在试图弄明白这一点,但似乎无法理解。我已经在这里和其他地方无数次地查看了关于同一问题的其他帖子(见、、等),显然我自己也无法理解。因此,我们在这里,任何帮助将不胜感激

项目结构:

/project-path/
  /app.py
  /config.py
  /.flaskenv
  /app/__init__.py
  /app/models.py
  /app/routes.py
config.py

import os
from dotenv import load_dotenv

basedir = os.path.abspath(os.path.dirname(__file__))
load_dotenv(os.path.join(basedir, '.env'))

class Config(object):
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'bleh'
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or 'sqlite:///' + os.path.join(basedir, 'app.db')
    SQLALCHEMY_TRACK_MODIFICATIONS = False
app.py

from app import create_app
app = create_app() 
弗拉斯肯夫先生

FLASK_APP=app.py
/app/init.py

import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_marshmallow import Marshmallow

from config import Config

db = SQLAlchemy()
migrate = Migrate()
ma = Marshmallow()

def create_app(config_class=Config):
    app = Flask(__name__)
    app.config.from_object(config_class)

    from app.models import Borrower

    db.init_app(app)
    migrate.init_app(app, db)

    from app.routes import borrowers_api
    app.register_blueprint(borrowers_api)

    return app
/app/models.py

from app import db, ma
from marshmallow_sqlalchemy import SQLAlchemyAutoSchema

class Borrower(db.Model):
    __tablename__ = 'borrowers'
    
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    borrower_name = db.Column(db.String(100), nullable=False, unique=True, index=True)
    
    def __init__(self, borrower_name):
        self.borrower_name = borrower_name

class BorrowerSchema(ma.SQLAlchemyAutoSchema):
    class Meta:
        model = Borrower
        include_relationships = True
        load_instance = True #Optional: deserialize to model instances  

borrower_schema = BorrowerSchema()
borrowers_schema = BorrowerSchema(many=True)
/app/routes.py

from flask import Blueprint, request, jsonify

from app.models import Borrower, borrower_schema, borrowers_schema
from app import db

borrowers_api = Blueprint('borrowers_api', __name__)

# Add a borrower
@borrowers_api.route('/borrower', methods=['POST'])
def add_borrower():
    borrower_name = request.get_json(force=True)['borrower_name']
    new_borrower = Borrower(borrower_name)
    db.session.add(new_borrower)
    db.session.commit()
    return borrower_schema.jsonify(new_borrower)

# Get single borrower by id
@borrowers_api.route('/borrower/<id>', methods=['GET'])
def get_borrower(id):
    borrower = Borrower.query.get(id)
    return borrower_schema.jsonify(borrower)

我哪里出错了?

不管怎样,我认为答案实际上是继续进行,尽管:

Please edit configuration/connection/logging settings in 'C:\\Users\\...\\flask-scratchwork\\flask-restapi-tryagain\\migrations\\alembic.ini' before proceeding.

因此,对于任何花费数小时试图准确识别flask migrate希望您对alembic.ini中的“配置/连接/日志设置”进行何种编辑的人来说……答案似乎只是继续flask db migrate

此消息来自alembic,而不是flask migrate。其想法是,您应该检查配置文件并根据自己的喜好调整设置。Flask Migrate提供了一种适用于大多数项目的启动配置,因此,如果您没有任何自定义需求,那么忽略此配置就可以了。
Please edit configuration/connection/logging settings in 'C:\\Users\\...\\flask-scratchwork\\flask-restapi-tryagain\\migrations\\alembic.ini' before proceeding.