Table ‘xxx‘ is already defined for this MetaData instance

开发项目的时候需要一个中间件控制几个库的情况 ,出现了个问题

A 库有个表名字叫 NAME B库有个名字叫NAME 这样的话就会报错上面的那个情况

需要在定义字段中加一个     metadata = MetaData()

	class SetMeal(BaseModel):
	    __bind_key__ = 'devices'
	    __tablename__ = "SetMeal"
	    metadata = MetaData()
	    setMealBaseName = db.Column(db.String(30), comment="套餐名称", index=True)
	    BaseSetMeal_id = db.Column(db.String(30), comment="套餐主类ID", index=True)
	    name = db.Column(db.String(30), comment="套餐显示名称", index=True)
	    price = db.Column(db.String(30), comment="现价")
	    fictitiousPrice = db.Column(db.String(30), comment="原价")
	    # 下次生成需要剔除掉 nowPrice
	    nowPrice = db.Column(db.String(30), comment="现价")
	    day = db.Column(db.String(30), comment="到期天数", default="整月")
	    # false 是自然月 true 是非自然月
	    is_wholeMonth = db.Column(db.Boolean, default=False, comment='是否整月到期')
	    totalFlow = db.Column(db.String(30), comment="总流量")
	    fictitiousFlowIndexID = db.Column(db.String(30), comment="虚拟流量指数关联")
	    SpeedFlowIndexID = db.Column(db.String(30), comment="流量到期限速关联")
	    integral = db.Column(db.String(30), comment="积分值", default="0")
	    purchaseType = db.Column(db.String(255), comment="购买方式")
	    is_commission = db.Column(db.Boolean, default=False, comment='是否分润')
	    commission_number = db.Column(db.String(30), default=False, comment='分润数值')
	    excess_action = db.Column(db.String(30), comment="超出动作")
	    excess_price = db.Column(db.String(30), comment="超出后多少钱/G")
	    integral_change_price = db.Column(db.String(30), comment="一积分顶多少分")
	    # 新增套餐形式
	    SetMealType = db.Column(db.Enum(
	        '加油包', '基础包', '按量包', '按天包', '其他'
	    ), comment='等级')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值