1
我已经建立了一个带有typeorm(https://github.com/typeorm/typeorm)和NEST(https://github.com/nestjs/nest)的系统,但TypeORM不会创建表或列。我的设置是这样的: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_BAD_FIELD_ERROR: Unknown column 'hash' in 'field list'
所以好像typeorm不生成表/列。有谁知道这可能是为什么?
这个选项是从typeorm的第一个版本出现。顺便说一句,你使用的是旧版本的TypeORM。当前版本是0.1.1,'autoSchemaSync:true'现在只是'synchronize:true' – pleerock