【发布时间】:2019-08-13 13:00:37
【问题描述】:
我正在尝试连接到 MySQL。我已经在我的根目录中的 .env 文件中定义了 db 连接变量,并且我正在初始化 app.module.ts 文件中的连接。
我现在面临的唯一问题是使用 CLI 创建或运行迁移时,
我按照 typeorm 文档here 配置连接,但是当我运行typeorm migrate:create -n myNewTable 时,它应该在指定目录中创建迁移文件,而是在应用程序根目录中创建它,
同样,我通过在typeorm migrate:create 之后使用-d 标志来指定目录解决了这个问题,但是当我尝试运行我的迁移文件时,我得到了这个
在任何配置文件中都找不到连接选项。
这是我的 app.module.ts 文件。
TypeOrmModule.forRoot({
type: 'mysql',
host: process.env.TYPEORM_HOST,
port: parseInt(process.env.TYPEORM_PORT, 10),
username: process.env.TYPEORM_USERNAME,
password: process.env.TYPEORM_PASSWORD,
database: process.env.TYPEORM_DATABASE,
synchronize: false,
migrations: [process.env.TYPEORM_MIGRATIONS],
cli: {
migrationsDir: process.env.TYPEORM_MIGRATIONS_DIR,
},
logging: (process.env.TYPEORM_LOGGING === 'true') ? true : false,
entities: [__dirname + '/../**/*.entity{.ts,.js}'],
}),
这是我的 .env 文件
# use .ts for development, .js for production
TYPEORM_CONNECTION = mysql
TYPEORM_HOST = 127.0.0.1
TYPEORM_PORT = 3306
TYPEORM_USERNAME = <username>
TYPEORM_PASSWORD = <password>
TYPEORM_DATABASE = <dbname>
TYPEORM_SYNCHRONIZE = true
TYPEORM_MIGRATIONSRUN = true
TYPEORM_LOGGING = true
TYPEORM_ENTITIES = src/**/**.entity.ts
#TYPEORM_ENTITIES = src/**/**.entity.js
TYPEORM_SUBSCRIBERS = src/subscriber/*.ts
#TYPEORM_SUBSCRIBERS = src/subscriber/*.js
TYPEORM_MIGRATIONS = src/database/migration/*.ts
TYPEORM_MIGRATIONS_DIR = src/database/migration
TYPEORM_SUBSCRIBERS_DIR = src/subscriber
任何帮助/提示都非常感谢,在此先感谢。
【问题讨论】:
-
嗨,@MoSwilam,你解决了这个问题吗?我也遇到过
标签: mysql node.js typescript nestjs typeorm