Node.js 根据环境使用不同的ormconfig.json文件
当然,我的ormconfig.json是静态的,它看起来像:Node.js 根据环境使用不同的ormconfig.json文件,node.js,typescript,typeorm,Node.js,Typescript,Typeorm,当然,我的ormconfig.json是静态的,它看起来像: { "type": "mariadb", "host": "localhost", "port": 3306, "username": "root", "password": "moove", "database": "moove_db", "synchronize": true, "logging": false, "entities": [ "dist/entity
{
"type": "mariadb",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "moove",
"database": "moove_db",
"synchronize": true,
"logging": false,
"entities": [
"dist/entity/**/*.js"
],
"migrations": [
"dist/migration/**/*.js"
],
"subscribers": [
"dist/subscriber/**/*.js"
],
"cli": {
"entitiesDir": "dist/entity",
"migrationsDir": "dist/migration",
"subscribersDir": "dist/subscriber"
}
}
但是如果我想为我们的生产服务器创建另一个配置呢?
我是否创建另一个配置文件?如何将TypeForm指向另一个配置文件?目前,我可以将
或mconfig.json
更改为或mconfig.js
,然后使用env变量,如下所示:
module.exports = {
"port": process.env.port,
"entities": [
// ...
],
"migrations": [
// ...
],
"subscribers": [
// ...
],
"cli": {
// ...
}
}
不要使用ormconfig.json。可以将配置对象直接传递给createConnection(),如
您还可以将其键入为
const config:ConnectionOptions
(从typeorm
导入)typeorm CLI不能与此方法一起使用。
import { createConnection } from "typeorm";
const config:any = {
"port": process.env.port || "28017",
"entities": [
// ...
],
"migrations": [
// ...
],
"subscribers": [
// ...
],
"cli": {
// ...
}
}
createConnection(config).then(async connection => {
await loadPosts(connection);
}).catch(error => console.log(error));