首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mikro-Orm不创建sqlite表

Mikro-Orm不创建sqlite表
EN

Stack Overflow用户
提问于 2021-05-30 15:07:44
回答 1查看 253关注 0票数 0

我在nestjs中使用mikro-orm来创建一个sqlite数据库。由于某些原因,Mikro-Orm将创建数据库文件(sandox.sqlite3),但不会在数据库中创建表。我已经创建了一个包含实体的任务模块。

应用程序模块:

代码语言:javascript
复制
@Module({
  imports: [
    MikroOrmModule.forRoot({
      entities: ['./dist/**/entities/*'],
      entitiesTs: ['./src/**/entities/*'],
      dbName: 'sandbox.sqlite3',
      type: 'sqlite',
    }),
    TasksModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

TaskModule:

代码语言:javascript
复制
@Module({
  imports: [MikroOrmModule.forFeature([Task])],
  controllers: [TasksController],
  providers: [TasksService],
})
export class TasksModule {}

任务服务:当我发出创建post请求时,将收到201响应以及我发送的数据。但是数据库中没有创建表。

代码语言:javascript
复制
@Injectable()
export class TasksService {
  constructor(
    @InjectRepository(Task)
    private readonly taskRepository: EntityRepository<Task>,
  ) {}

  create(createTaskDto: CreateTaskDto) {
    console.log(createTaskDto.name);
    return this.taskRepository.create({ ...createTaskDto });
  }

  findAll() {
    return this.taskRepository.findAll();
  }

  findOne(id: number) {
    return this.taskRepository.findOne({ id });
  }

  async update(id: number, updateTaskDto: UpdateTaskDto) {
    const task = await this.taskRepository.findOne({ id });
    task.name = updateTaskDto.name ?? task.name;
    task.description = updateTaskDto.description ?? task.description;
    task.assign({ id });
    // return this.taskRepository.(task);
  }

  remove(id: number) {
    // return this.taskRepository.removeAndFlush();
  }
}

任务实体:

代码语言:javascript
复制
@Entity()
export class Task extends BaseEntity<Task, 'id'> {
  @PrimaryKey()
  id: number;

  @Property()
  name: string;

  @Property()
  description: string;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-30 17:13:33

您需要通过SchemaGenerator或迁移手动同步数据库。如果您设置了命令行界面,则可以执行npx mikro-orm schema:update --run

https://mikro-orm.io/docs/faq#how-can-i-synchronize-my-database-schema-with-the-entities

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67758649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档