【发布时间】:2018-04-01 06:54:31
【问题描述】:
我已经使用 typeorm (https://github.com/typeorm/typeorm) 和 NestJs (https://github.com/nestjs/nest) 建立了一个系统,但是 TypeORM 没有创建表或列。我的设置是这样的:
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
]
})
实体是:
import {Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn} from 'typeorm';
@Entity()
export class UserPassword {
@PrimaryGeneratedColumn()
id: number;
@Column()
hash: string;
@Column()
algorithm: string;
}
和
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;
}
然后我尝试像这样创建一个用户:
// ... some code
await this.userPasswordRepository.save(userPassword);
return await this.userRepository.save(user);
但我收到以下错误:
QueryFailedError: ER_NO_SUCH_TABLE: 表 'typeorm2.user_password' 不存在
当我手动插入表格时出现错误:
QueryFailedError:ER_BAD_FIELD_ERROR:“字段列表”中的未知列“哈希”
所以看起来 TypeORM 不会生成表/列。有谁知道为什么会这样?
【问题讨论】:
-
你好,我也遇到了这个问题,你解决了吗?
标签: typeorm