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

连接Render.com PostgreSQL成功,但生成TypeORM迁移时遇SSL不支持错误

解决Render PostgreSQL + TypeORM迁移SSL错误问题

问题分析

当前配置能正常连接数据库,但生成迁移时出现「The server does not support SSL connections」,核心原因是本地执行迁移命令时,SSL配置和Render数据库的要求不匹配——Render的PostgreSQL强制要求SSL连接,但本地环境执行迁移时,SSL参数的传递或解析出现了逻辑冲突。

解决方案

1. 动态配置SSL(区分本地/生产环境)

修改dataSourceConfig,根据环境变量动态切换SSL配置,避免本地开发与生产环境的冲突:

export const dataSourceConfig: DataSourceOptions = {
  type: "postgres",
  host: process.env.DATABASE_HOST,
  port: Number(process.env.DATABASE_PORT || "5432"),
  username: process.env.DATABASE_USERNAME,
  password: process.env.DATABASE_PASSWORD,
  database: process.env.DATABASE_NAME,
  entities: ["dist/**/*.entity.js"],
  migrations: ["dist/db/migrations/*.js"],
  // 生产环境启用Render要求的SSL配置,本地可关闭或按需调整
  ssl: process.env.NODE_ENV === "production" 
    ? { rejectUnauthorized: false } 
    : false,
};

若本地需要直接连接Render远程数据库(而非本地PostgreSQL),则本地也需开启SSL,确保本地环境支持SSL连接PostgreSQL即可。

2. 显式指定Render兼容的SSL模式

Render的PostgreSQL默认要求sslmode=require,显式配置该参数可避免TypeORM自动推断错误:

export const dataSourceConfig: DataSourceOptions = {
  type: "postgres",
  host: process.env.DATABASE_HOST,
  port: Number(process.env.DATABASE_PORT || "5432"),
  username: process.env.DATABASE_USERNAME,
  password: process.env.DATABASE_PASSWORD,
  database: process.env.DATABASE_NAME,
  entities: ["dist/**/*.entity.js"],
  migrations: ["dist/db/migrations/*.js"],
  ssl: {
    rejectUnauthorized: false,
    sslmode: "require" // 明确匹配Render的SSL强制要求
  },
};

3. 确保迁移命令加载正确环境变量

如果使用.env管理数据库参数,需确保迁移命令能正确读取这些变量。可修改package.json中的命令,加入环境变量加载逻辑:

"typeorm": "dotenv -e .env npx typeorm -d dist/db/data-source.js",
"migration:generate": "npm run typeorm -- migration:generate",
"migration:run": "npm run typeorm -- migration:run",

需先安装依赖:npm install -D dotenv-cli

验证步骤

  1. 重新编译项目:npm run build
  2. 尝试生成迁移:npm run migration:generate dist/db/migrations/YourMigrationName
  3. 若仍报错,检查环境变量是否正确,重点确认DATABASE_HOST是Render提供的完整数据库域名

内容的提问来源于stack exchange,提问作者Nikola Golubović

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 20:06:32