SQLAlchemy模型映射提示declarative_base() takes 0 positional arguments but 1 was given

原码:

#SQLAlchemy模型映射表结构.
from sqlalchemy import create_engine,Column,Integer,String
from sqlalchemy.ext.declarative import declarative_base

# 数据库的变量
HOST = '127.0.0.1'
PORT = 3306
DATA_BASE = 'itbz'
USER = 'root'
PWD = '123456'
DB_URL = f'mysql+pymysql://{USER}:{PWD}@{HOST}:{PORT}/{DATA_BASE}'

# 创建引擎
engine = create_engine(DB_URL)
# 创建一个基类
Base = declarative_base(engine)

class Person(Base):
    __tablename__='t_person'
    id = Column(Integer,primary_key=True,autoincrement=True)
    name = Column(String(32))
    age = Column(Integer)
    country = Column(String(32))

# 映射表结构
Base.metadata.create_all()

执行结果:

 提示信息为:The ``declarative_base()`` function is now available as sqlalchemy.orm.declarative_base(). (deprecated since: 2.0) (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)

表明sqlalchemy2.0以上时,sqlalchemy.ext.declarative已不适用

1. 更改引入的包

from sqlalchemy.orm import declarative_base

2.更改数据库引擎的引入方法

Base.metadata.create_all(engine)

修改后的原码

#SQLAlchemy模型映射表结构.
from sqlalchemy import create_engine,Column,Integer,String
from sqlalchemy.orm import declarative_base

# 数据库的变量
HOST = '127.0.0.1'
PORT = 3306
DATA_BASE = 'itbz'
USER = 'root'
PWD = '123456'
DB_URL = f'mysql+pymysql://{USER}:{PWD}@{HOST}:{PORT}/{DATA_BASE}'

# 创建引擎
engine = create_engine(DB_URL)
# 创建一个基类
Base = declarative_base()

class Person(Base):
    __tablename__='t_person'
    id = Column(Integer,primary_key=True,autoincrement=True)
    name = Column(String(32))
    age = Column(Integer)
    country = Column(String(32))

# 映射表结构
Base.metadata.create_all(engine)

执行结果: 执行成功,新表创建完成

最近更新

  1. TCP协议是安全的吗?

    2024-03-27 23:58:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-27 23:58:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-27 23:58:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-27 23:58:04       20 阅读

热门阅读

  1. 嵌入式学习笔记(三)

    2024-03-27 23:58:04       22 阅读
  2. 122. 买卖股票的最佳时机 II

    2024-03-27 23:58:04       18 阅读
  3. reduce函数

    2024-03-27 23:58:04       16 阅读
  4. LeetCode-热题100:56. 合并区间

    2024-03-27 23:58:04       18 阅读
  5. wordpress搬家修改前缀后台无法访问

    2024-03-27 23:58:04       22 阅读
  6. Python学习之-初体验-Hello World

    2024-03-27 23:58:04       18 阅读