Python 如何重命名现有表?

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__(

我想动态使用声明性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__(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我下次一定会处理好这个问题。非常感谢你指出这一点。