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.