database.service.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import type { Repository } from 'typeorm';
  2. import { UserEntity } from '@/models/entity/user.entity';
  3. import { Injectable, type OnModuleInit } from '@nestjs/common';
  4. import { InjectRepository } from '@nestjs/typeorm';
  5. import { UsersService } from '../users/users.service';
  6. @Injectable()
  7. export class DatabaseService implements OnModuleInit {
  8. constructor(
  9. @InjectRepository(UserEntity)
  10. private usersRepository: Repository<UserEntity>,
  11. private userService: UsersService,
  12. ) {}
  13. async onModuleInit() {
  14. // data/db.sqlite会被git忽略,方式数据库文件被提交到git
  15. // 清空表,并初始化两条数据
  16. await this.usersRepository.clear();
  17. await this.userService.create({
  18. id: 0,
  19. password: '123456',
  20. realName: 'Administrator',
  21. roles: ['admin'],
  22. username: 'vben',
  23. });
  24. await this.userService.create({
  25. id: 1,
  26. password: '123456',
  27. realName: 'Jack',
  28. roles: ['user'],
  29. username: 'jack',
  30. });
  31. const count = await this.usersRepository.count();
  32. console.log('Database has been initialized with seed data, count:', count);
  33. }
  34. }