首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >TypeORM不创建表、列等

TypeORM不创建表、列等
EN

Stack Overflow用户
提问于 2017-10-20 14:21:03
回答 11查看 37.2K关注 0票数 17

我已经用typeorm (https://github.com/typeorm/typeorm)和NestJs (https://github.com/nestjs/nest)设置了一个系统,但是TypeORM没有创建表或列。我的设置如下:

代码语言:javascript
复制
import {UserPassword} from '../user/user-password.entity';
import {User} from '../user/user.entity';

createConnection({
    type: 'mysql',
    host: 'typeorm2.cn32tstd6wqk.eu-central-1.rds.amazonaws.com',
    port: 1234,
    username: 'username',
    password: 'password',
    database: 'dbname',
    entities: [
      // __dirname + '/../**/*.entity{.ts,.js}'
      UserPassword,
      User
    ]
  })

实体是:

代码语言:javascript
复制
import {Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn} from 'typeorm';

@Entity()
export class UserPassword {

  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  hash: string;

  @Column()
  algorithm: string;

}

代码语言:javascript
复制
import {Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn} from 'typeorm';
import {UserPassword} from './user-password.entity';

@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ length: 35 })
  firstName: string;

  @Column({ length: 35 })
  lastName: string;

  @Column({ length: 50})
  mail: string;

  @OneToOne(type => UserPassword)
  @JoinColumn()
  password: UserPassword;

}

然后我尝试创建一个用户,如下所示:

代码语言:javascript
复制
// ... some code
await this.userPasswordRepository.save(userPassword);
return await this.userRepository.save(user);

但我得到以下错误:

QueryFailedError: ER_NO_SUCH_TABLE:表'typeorm2.user_password‘不存在

当我手动插入表时,我得到了错误:

字段列表: ER_BAD_FIELD_ERROR:‘

list’中的未知列'hash‘

所以看起来TypeORM不会生成表/列。有人知道为什么会这样吗?

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

https://stackoverflow.com/questions/46843385

复制
相关文章

相似问题

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