Как я могу установить AUTO_INCREMENT для @PrimaryColumn ()? - PullRequest
3 голосов
/ 25 февраля 2020

как мне установить AUTO_INCREMENT для @PrimaryColumn(), я знаю, что @PrimaryGeneratedColumn() делает это, но я хочу иметь идентификатор типа double. Можно ли иметь @PrimaryGeneratedColumn() с double типом? если нет, могу ли я установить AUTO_INCREMENT для @PrimaryColumn()?

1 Ответ

3 голосов
/ 26 февраля 2020

Пожалуйста, используйте этот код.

import {Entity, PrimaryGeneratedColumn} from 'typeorm';

@Entity()
export class SomeWhat{

    @PrimaryGeneratedColumn('increment')
    public id: number;
....

Для double ID, мы не можем использовать AUTO_INCREMENT. AUTO_INCREMENT только для типа int.

  • @PrimaryGeneratedColumn

    Мы можем установить AUTO_INCREMENT только для @PrimaryGeneratedColumn декоратора. Приведенный ниже код является декларацией @PrimaryGeneratedColumn. Как видите, мы можем использовать 2 типа стратегии (increment, uuid).

    (typeorm / decorator / columns / PrimaryGeneratedColumn.d.ts)

    export declare function PrimaryGeneratedColumn(): Function;
    export declare function PrimaryGeneratedColumn(options: PrimaryGeneratedColumnNumericOptions): Function;
    export declare function PrimaryGeneratedColumn(strategy: "increment", options?: PrimaryGeneratedColumnNumericOptions): Function;
    export declare function PrimaryGeneratedColumn(strategy: "uuid", options?: PrimaryGeneratedColumnUUIDOptions): Function;
    
  • @PrimaryColumn

    Но в этом @PrimaryColumn нет доступной стратегии. Это просто преобразование значения в первичный ключ без генерации.

    (typeorm / decorator / columns / PrimaryColumn.d.ts)

    export declare function PrimaryColumn(options?: ColumnOptions): Function;
    export declare function PrimaryColumn(type?: ColumnType, options?: ColumnOptions): Function;
    
...