我已经用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‘不存在
当我手动插入表时,我得到了错误:
字段列表: ER_BAD_FIELD_ERROR:‘
list’中的未知列'hash‘
所以看起来TypeORM不会生成表/列。有人知道为什么会这样吗?
https://stackoverflow.com/questions/46843385
复制相似问题