python - flask db migrate 未从模型文件夹中检测到架构
问题描述
大家好,我正在尝试在我的烧瓶休息 API 应用程序中实现 MVC 模式,但我面临一些问题,例如烧瓶迁移和编写可扩展代码。
对于烧瓶迁移,我在迁移到 mysql 时无法检测模型。
以下是我的示例应用程序架构
这是模型/ ini .py
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
这是我的模型/user_master.py
import dataclasses
import flask_bcrypt
from . import db
# from sqlalchemy_utils import PhoneNumber
@dataclasses
class UserTypeMaster(db.Model):
__tablename__ = 'UserTypeMaster'
def __init__(self, _id, _type):
self.id = _id
self.type = _type
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
type = db.Column(db.String(20), unique=True, nullable=False)
这是我的 CenturyApi.py 文件
from flask import Flask
from flask_migrate import Migrate
from config import config_names
from models import db
from flask_sqlalchemy import SQLAlchemy
from routes.user_route import user_bp
app = Flask(__name__)
app.config.from_object(config_names['default'])
app.config.from_pyfile('config.py')
db.init_app(app)
migrate = Migrate()
migrate.init_app(app, db)
from models.user_master import UserMaster
from models.address_master import CityMaster, StateMaster, CountryMaster
app.register_blueprint(user_bp, url_prefix='/users')
@app.route('/')
def index():
return "Hello"
if __name__ == '__main__':
app.run()
如果我在初始化 migrate 对象并运行 flask db migrate 后不包含模型,我会得到以下信息:
信息 [alembic.runtime.migration] 上下文 impl MySQLImpl。INFO [alembic.runtime.migration] 将假定非事务性 DDL。INFO [alembic.env] 未检测到架构更改。
当包括模型时,我得到以下错误:
文件“/home/abhishek/FreeLance/Century/centuryApi/centuryApi.py”,第 17 行,从 models.user_master 导入 UserMaster 文件“/home/abhishek/FreeLance/Century/centuryApi/models/user_master.py”,第 9 行, 在类 UserTypeMaster(db.Model): TypeError: 'module' object is not callable
我没有得到在 user_master.py 的第 9 行错误分配我的参考的位置
我还需要有关此架构的建议以及如何即兴发挥更多以使其更具可扩展性。
任何帮助将不胜感激。谢谢
解决方案
推荐阅读
- sql-server - 如何根据查找另外两组列来计算列中的总和?
- python - 当 TCP 服务器读取非阻塞套接字时,TCP 客户端是否能够暂停服务器
- unity3d - Nuxt (vue) 和 Unity 的 Unityloader 内存泄漏
- android - 什么是 {"456"} for transform: (String) -> String in Kotlin 的完整代码?
- java - 如何避免stackoverflow异常
- ios - 动画根视图控制器转换
- rest - Xamarin 使用 MVVM 将数据传递和检查到其他视图
- docker - 访问在 Docker Swarm 服务中运行的单个容器
- javascript - Javascript - 并行调用函数并返回组合结果
- maven - 如何让 Maven 插件与 SonarScanner 一起使用?