通过Python中的模型在Postgres DB中创建表/生成模式

时间:2019-10-30 05:30:21

标签: python postgresql sqlalchemy

我正在尝试重新开始上一个项目的工作,并且数据库服务器已删除。 没有数据库备份或SQL脚本。但是模式是在Python数据库模型中定义的。 我可以从中生成数据库架构吗?

我定义了以下类:

class News(db.Model, AutoSerialize, Serializer):
    __tablename__ = 'news'

    news_id = Column(Integer, primary_key=True, server_default=text(
        "nextval('news_news_id_seq'::regclass)"))
    source = Column(String(64))
    source_id = Column(String(64))
    author = Column(String(128))
    title = Column(String(256), nullable=False)
    description = Column(String(65536))
    url = Column(String(512))
    url_to_image = Column(String(512))
    published_at = Column(Date())
    content = Column(String(65536))
    campaign = Column(String(16))
    score = Column(Float(53))
    magnitude = Column(Float(53))
    sentiment = Column(String(16))
    rank_score = Column(Float(53))
    rank_order = Column(Integer)
    translated_content = Column(String(65536))
    detected_language = Column(String(128))
    inserted_at = Column(DateTime(True))


t_tags = Table(
    'tags', metadata,
    Column('tag_id', Integer, nullable=False,
           server_default=text("nextval('tags_tag_id_seq'::regclass)")),
    Column('tag_name', String(128), nullable=False)
)

1 个答案:

答案 0 :(得分:2)

获得元数据和连接后,就可以完成

metadata.create_all(connection)

(我假设db.Model是声明性基础)