2017-10-20 7 views
1

タイプorm(https://github.com/typeorm/typeorm)とNEST(https://github.com/nestjs/nest)のシステムを設定しましたが、タイプORMはテーブルやカラムを作成していません。タイプORMがテーブルやカラムなどを作成していません

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 
    ] 
    }) 

とエンティティは以下のとおりです:私のセットアップは、このようなものです

// ... some code 
await this.userPasswordRepository.save(userPassword); 
return await this.userRepository.save(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; 

} 

は、その後、私はこのようなユーザを作成しようしかし、私は次のエラーが発生します:

私は手動でテーブルを挿入すると、私はエラーを取得する:typeormは、テーブル/列を生成しないよう

QueryFailedError: ER_BAD_FIELD_ERROR: Unknown column 'hash' in 'field list' 

だから、そうです。なぜ誰がこのことが分かるのですか?

答えて

0

私はそれが仕事作っ接続を作成するときにオプションautoSchemaSyncを持っているバージョン0.1.0-alpha.40をtypeormに切り替え:

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 
    ], 
    autoSchemaSync: true, 
}) 
+1

このオプションは、typeormの最初のバージョンから存在していました。 Btw、あなたはTypeORMの古いバージョンを使用しています。現在のバージョンは0.1.1で、 'autoSchemaSync:true'は' synchronize:true'です。 – pleerock

関連する問題