Python 如何重命名现有表?
我想动态使用声明性base创建200多个表。我知道这是不可能的,所以我的想法是创建一个公共表并重命名200多次Python 如何重命名现有表?,python,sql,postgresql,sqlalchemy,Python,Sql,Postgresql,Sqlalchemy,我想动态使用声明性base创建200多个表。我知道这是不可能的,所以我的想法是创建一个公共表并重命名200多次 class Movie(Base): id = Column(Integer, primary_key=True) title = Column(String) release_date = Column(Date) name=Column(String) __tablename__ = 'titanic' def __init__(
class Movie(Base):
id = Column(Integer, primary_key=True)
title = Column(String)
release_date = Column(Date)
name=Column(String)
__tablename__ = 'titanic'
def __init__(self, newname,title, release_date):
self.title = title
self.release_date = release_date
将表名从titanic更改为wild的代码是什么
在Postgresql中是这样的
ALTER TABLE table_name
RENAME TO new_table_name;
我在炼金术中找不到解决办法
此表没有外键
这个问题的目的是通过sqlalchemy中可用的解决方案重命名现有表,而不是像另一个问题中提到的那样使用纯python方式。重命名表的最简单方法是创建一个新表,使用INSERT into语句将数据转储到该表中 更多信息来自网络: 必须向数据库发出相应的命令才能更改表的名称。就表元数据本身而言,您可以尝试设置Table.name='newname',并使用其新名称在metadata.tables中重新放置表对象,但这可能会对引用旧名称的外键产生持久的副作用。通常情况下,不支持该模式—其目的是让SQLAlchemy应用程序以固定的数据库结构运行—只能动态添加新表。
你应该使用类似或的东西来做这类事情。我想动态地使用声明性base创建200多个表。我知道这是不可能的。所以我的想法是创建一个公共表并重命名200多次。谢谢你的想法,但它不适合我的项目。在你的问题中提供所有相关信息很重要。请看,你应该清楚地陈述你在问题中的任何目标,以便回答的人在回答时能够意识到这些目标,并加以考虑。否则,人们只会浪费时间提供最终对任何人都没有用处的答案,因为目标似乎在不断变化。@TimPost我下次一定会处理好这个问题。非常感谢你指出这一点。