python - 从 Python 中的模型在 Postgres DB 中创建表/生成模式
问题描述
我正在尝试为以前的项目重新开始工作,并且数据库服务器已被删除。没有数据库备份或 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)
)
解决方案
获得元数据和连接后,您就可以
metadata.create_all(connection)
(我假设 db.Model 是一个声明性基础)
推荐阅读
- java - 如何替换 ArrayList 的特定部分?
- php - 通过表单的 SQL 注入在 PHP 5.6 中不起作用
- oracle - 如何以 root 用户身份登录 Oracle 的 rman
- php - php将文件保存到相对路径
- amazon-web-services - 在 dynamodb 中存储具有超过 15 个属性的对象时,最好将其作为对象存储在 value 中还是将它们分布在列中?
- php - PHP 检查一个变量是否等于其他三个变量之一
- visual-studio-code - 如何使用 npm 安装 VScode 扩展?
- javascript - React,Word 加载项 - ClientAuthError:AcquireToken_In_Progress:登录调用期间出错 - 登录已在进行中
- linux - Bash grep -r -H 显示而不等到进程结束
- api - Postman 在调用 HES Impact API 时出错