SQLAlchemy.schema中如何重命名表和列
发布时间:2023-12-17 17:26:46
在SQLAlchemy中,可以使用alter_table函数来重命名数据库表。这个函数需要传入一个Table对象和一个字符串作为新的表名。下面是一个示例:
from sqlalchemy import create_engine, MetaData, Table, Column, String
# 创建数据库引擎
engine = create_engine('sqlite:///example.db')
# 创建元数据对象
metadata = MetaData(bind=engine)
# 定义表结构
users_table = Table(
'users',
metadata,
Column('id', String, primary_key=True),
Column('name', String),
)
# 创建表
metadata.create_all()
# 重命名表
users_table.rename('new_users_table')
上面的例子中,首先创建了一个数据库引擎和一个元数据对象。然后定义了一个名为users的表,并使用metadata.create_all()函数创建了这个表。最后,使用rename函数将表重命名为new_users_table。
在SQLAlchemy中,可以使用alter_column函数来重命名列。这个函数需要传入一个Column对象和一个字符串作为新的列名。下面是一个示例:
from sqlalchemy import create_engine, MetaData, Table, Column, String
# 创建数据库引擎
engine = create_engine('sqlite:///example.db')
# 创建元数据对象
metadata = MetaData(bind=engine)
# 定义表结构
users_table = Table(
'users',
metadata,
Column('id', String, primary_key=True),
Column('name', String),
)
# 创建表
metadata.create_all()
# 重命名列
users_table.c.name.rename('new_name')
上面的例子中,定义了一个名为users的表,并使用metadata.create_all()函数创建了这个表。然后,使用rename函数将列name重命名为new_name。
综上所述,通过调用rename函数,可以在SQLAlchemy中重命名数据库表和列。
