TypeORM 开源项目快速入门指南
TypeORM 是一个强大的对象关系映射(Object-Relationship Mapping,ORM)工具,支持 TypeScript 和 JavaScript,兼容多种数据库系统。本指南将带您了解其基本结构、启动与配置要素,以便快速上手。
1. 项目的目录结构及介绍
TypeORM 不提供特定的项目模板结构,但通过其常见的应用实践,我们可以构想一个典型的项目布局如下:
-
src
: 应用的主要源代码存放目录。entity
: 实体(Entities)文件夹,存放描述数据库表的类文件,例如User.ts
。migration
: 迁移(Migrations)文件夹,存储用于数据库架构更新的自动生成或手动编写的迁移脚本。service
或其他业务逻辑相关的子目录:存放处理业务逻辑的代码。
-
ormconfig.json
或.ts
: TypeORM 的配置文件,定义数据库连接参数等。 -
index.ts
或app.ts
: 项目的入口文件,通常初始化TypeORM并启动服务。 -
typescript
配置 (tsconfig.json
): 确保启用装饰器元数据(emitDecoratorMetadata
)和实验性装饰器(experimentalDecorators
)的支持。
2. 项目的启动文件介绍
启动文件通常是 index.ts
或 app.ts
,示例结构可能包括:
import { createConnection } from 'typeorm';
import { User } from './entity/User';
createConnection()
.then(async connection => {
console.log('Connected to database');
// 示例:创建新用户
const userRepository = connection.getRepository(User);
const newUser = new User();
newUser.firstName = 'Example';
newUser.lastName = 'User';
await userRepository.save(newUser);
// 其他业务逻辑...
})
.catch(error => console.log(error));
该文件负责建立到数据库的连接,并可执行初始设置或测试逻辑,确保应用程序能够正确地与数据库交互。
3. 项目的配置文件介绍
TypeORM 使用 ormconfig.json
(或对应的.js
, .yaml
, .env
) 文件来管理数据库连接信息。以下是ormconfig.json
的基本结构示例:
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "your_password",
"database": "test_db",
"entities": ["src/entity/**/*.ts"],
"migrations": ["src/migration/**/*.ts"],
"cli": {
"entitiesDir": "src/entity",
"migrationsDir": "src/migration"
}
}
type
: 指定使用的数据库类型。host
,port
,username
,password
,database
: 数据库连接详情。entities
,migrations
: 对应实体和迁移文件的路径。cli
: 控制台命令相关配置,指明了实体和迁移文件的目录位置。
在实际应用中,根据具体需求调整这些配置项。记得在生产环境中隐藏敏感信息,如密码,可使用环境变量来安全地获取这些值。
通过上述介绍,您可以初步构建起对TypeORM项目结构、启动流程以及配置方式的理解,进而更快地进行数据库驱动的开发工作。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考