TypeORM Seeding 项目教程
1. 项目的目录结构及介绍
TypeORM Seeding 项目的目录结构如下:
typeorm-seeding/
├── src/
│ ├── db/
│ │ ├── entities/
│ │ ├── factories/
│ │ ├── seeding/
│ │ │ ├── seeds/
│ │ │ └── index.ts
│ ├── config/
│ ├── index.ts
├── ormconfig.ts
├── package.json
├── tsconfig.json
目录结构介绍
src/
:项目的源代码目录。db/
:数据库相关文件。entities/
:存放数据库实体文件。factories/
:存放数据工厂文件,用于生成测试数据。seeding/
:种子数据相关文件。seeds/
:存放种子文件,用于初始化数据库。index.ts
:种子文件的入口。
config/
:配置文件目录。index.ts
:项目的入口文件。
ormconfig.ts
:TypeORM 的配置文件。package.json
:项目的依赖管理文件。tsconfig.json
:TypeScript 的配置文件。
2. 项目的启动文件介绍
项目的启动文件是 src/index.ts
,它负责启动整个应用程序。以下是 src/index.ts
的示例代码:
import { createConnection } from 'typeorm';
import { InitialDatabaseSeed } from './db/seeding/seeds/initialSeed';
async function main() {
try {
const connection = await createConnection();
console.log('Database connected');
const seeder = new InitialDatabaseSeed();
await seeder.run();
console.log('Database seeded');
await connection.close();
console.log('Connection closed');
} catch (error) {
console.error('Error:', error);
}
}
main();
启动文件介绍
createConnection()
:创建数据库连接。InitialDatabaseSeed
:初始化数据库种子类。seeder.run()
:执行种子文件,初始化数据库。connection.close()
:关闭数据库连接。
3. 项目的配置文件介绍
项目的配置文件是 ormconfig.ts
,它包含了 TypeORM 的配置信息。以下是 ormconfig.ts
的示例代码:
import { User, Post } from './src/db/entities';
export default {
name: 'default',
type: process.env.DB_TYPE as any,
host: process.env.DB_HOSTNAME,
port: Number(process.env.DB_PORT),
username: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
entities: [User, Post],
seeds: ['src/db/seeding/seeds/**/*.ts'],
factories: ['src/db/seeding/factories/**/*.ts'],
synchronize: true,
logging: process.env.NODE_ENV === 'production',
};
配置文件介绍
name
:连接名称。type
:数据库类型。host
:数据库主机。port
:数据库端口。username
:数据库用户名。password
:数据库密码。database
:数据库名称。entities
:数据库实体文件。seeds
:种子文件路径。factories
:工厂文件路径。synchronize
:是否自动同步数据库结构。logging
:是否开启日志。
以上是 TypeORM Seeding 项目的详细教程,希望对你有所帮助。