You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SQLAlchemy URL设置PostgreSQL默认Schema并生成非默认Schema模型

解决sqlacodegen获取PostgreSQL非默认Schema模型的问题

核心解决方法:指定目标Schema或扫描全部Schema

sqlacodegen默认仅扫描PostgreSQL的public默认Schema,要获取其他Schema的模型,只需在命令中添加对应参数:

  • 指定单个非默认Schema
    在命令后添加--schema参数并指定目标Schema名称:

    sqlacodegen postgresql://{RDS_USERNAME}:{RDS_PASSWORD}@{RDS_HOSTNAME}:{RDS_PORT}/{RDS_DB_NAME} --schema your_target_schema
    
  • 指定多个非默认Schema
    用逗号分隔多个Schema名称即可:

    sqlacodegen postgresql://{RDS_USERNAME}:{RDS_PASSWORD}@{RDS_HOSTNAME}:{RDS_PORT}/{RDS_DB_NAME} --schema schema_a,schema_b,schema_c
    
  • 扫描数据库中所有Schema
    使用--all-schemas参数一次性获取所有Schema的模型:

    sqlacodegen postgresql://{RDS_USERNAME}:{RDS_PASSWORD}@{RDS_HOSTNAME}:{RDS_PORT}/{RDS_DB_NAME} --all-schemas
    

额外注意事项

  1. 你提供的原命令末尾多了一个多余的单引号,执行前请删除,避免语法错误。
  2. 生成的模型会自动关联对应Schema,比如非publicSchema的表会在模型中通过__table_args__指定Schema属性,确保与数据库结构匹配。

内容的提问来源于stack exchange,提问作者runRyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 12:50:28