使用CLI
- 安装CLI
- 初始化一个新的TypeORM项目
- 创建新实体
- 创建新订阅者
- 创建新迁移
- 从现有表模式生成迁移
- 运行迁移
- 回滚迁移
- 显示迁移
- 同步数据库模式
- 记录同步数据库模式的查询,而不实际运行它们
- 删除数据库模式
- 运行任意SQL查询
- 清除缓存
- 检查版本
安装CLI
如果实体文件是JavaScript
如果您有一个本地的TypeORM版本,请确保它与我们将要安装的全局版本匹配。
您可以使用 npm i -g typeorm
在全局安装TypeORM CLI。
您还可以选择使用 npx typeorm <params>
每个命令,如果您不希望安装它。
如果实体文件是TypeScript
这个CLI工具是用JavaScript编写的,要在node上运行。如果您的实体文件是TypeScript的,您需要在使用CLI之前将它们编译为JavaScript。如果您只使用JavaScript,可以跳过这个部分。
您可以设置ts-node在您的项目中来简化这个操作:
安装ts-node:
npm install ts-node --save-dev
在package.json的scripts部分下添加typeorm命令:
"scripts": {
...
"typeorm": "typeorm-ts-node-commonjs"
}
对于ESM项目,请使用以下命令:
"scripts": {
...
"typeorm": "typeorm-ts-node-esm"
}
如果您想加载更多模块,比如module-alias,您可以添加更多的 --require my-module-supporting-register
。
然后,您可以像这样运行命令:
npm run typeorm migration:run -- -d path-to-datasource-config
如何阅读文档
为了减少文档的冗长性,以下部分使用全局安装的TypeORM CLI。根据您安装CLI的方式,您可以将命令开头的 typeorm
替换为 npx typeorm
或 npm run typeorm
。
初始化一个新的TypeORM项目
您可以使用CLI创建一个已经设置好的新项目:
typeorm init
它将创建一个包含TypeORM基本项目所需的所有文件:
- .gitignore
- package.json
- README.md
- tsconfig.json
- src/entity/User.ts
- src/index.ts
然后您可以运行 npm install
安装所有依赖项。
完成后,您可以通过运行 npm start
来运行应用程序。
所有文件都生成在当前目录中。
如果您想生成它们在特定目录中,可以使用 --name
参数:
typeorm init --name my-project
要指定特定的数据库,可以使用 --database
参数:
typeorm init --database mssql
要生成一个基于ESM的基础项目,可以使用 --module esm
:
typeorm init --name my-project --module esm
您还可以生成一个带有Express的基础项目:
typeorm init --name my-project --express
如果您使用Docker,可以使用以下命令生成 docker-compose.yml
文件:
typeorm init --docker
typeorm init
是设置TypeORM项目的最简单和最快的方式。
创建新实体
您可以使用CLI创建一个新的实体:
typeorm entity:create path-to-entity-dir/entity
了解更多关于实体。
创建新订阅者
您可以使用CLI创建一个新的订阅者:
typeorm subscriber:create path-to-subscriber-dir/subscriber
了解更多关于订阅者。
创建新迁移
您可以使用CLI创建一个新的迁移:
typeorm migration:create path-to-migrations-dir/migrationName
了解更多关于迁移。
从现有表模式生成迁移
自动生成迁移会创建一个新的迁移文件,并写入必须执行的所有SQL查询来更新数据库。
如果没有生成任何更改,该命令将以1的代码退出。
typeorm migration:generate path/to/Migration -d path/to/datasource
规则是在每次更改实体后生成一个迁移。 -d 参数的值应指定您的DataSource实例定义的路径。 您可以使用第一个参数指定迁移的路径和名称。
了解更多关于迁移。
运行迁移
要执行所有未执行的迁移,请使用以下命令:
typeorm migration:run -- -d path-to-datasource-config
了解更多关于迁移。
回滚迁移
要回滚最近执行的迁移,请使用以下命令:
typeorm migration:revert -- -d path-to-datasource-config
此命令只会撤销最后执行的迁移。 您可以多次执行此命令以回滚多个迁移。 了解更多关于迁移。
显示迁移
要显示所有迁移以及它们是否已运行,请使用以下命令:
typeorm migration:show -- -d path-to-datasource-config
[X] = 迁移已运行
[ ] = 迁移待处理/未应用
同步数据库模式
要同步数据库模式,请使用以下命令:
typeorm schema:sync
在生产环境中谨慎运行此命令 - 模式同步可能会导致数据丢失,如果不明智地使用它。 在运行之前,请检查它将运行哪些SQL查询。
记录同步数据库模式的查询,而不实际运行它们
要查看 schema:sync
将要运行的SQL查询,请使用以下命令:
typeorm schema:log
删除数据库模式
要完全删除数据库模式,请使用以下命令:
typeorm schema:drop -- -d path-to-datasource-config
在生产环境中小心使用此命令,因为它会完全删除数据库中的数据。
运行任意SQL查询
您可以直接在数据库中执行任意SQL查询:
typeorm query "SELECT * FROM USERS"
清除缓存
如果您使用 QueryBuilder
缓存,有时可能需要清除缓存中存储的所有内容。
您可以使用以下命令来完成:
typeorm cache:clear
检查版本
您可以通过运行以下命令来检查您安装的TypeORM版本(包括本地和全局):
typeorm version