Вставка неопределенных значений в базу данных - PullRequest
0 голосов
/ 24 мая 2019

Я разработал схему с использованием typeorm и допускает значение NULL для, скажем, полей reference и key следующим образом

@Entity()
export class User{
    @PrimaryGeneratedColumn()
    id: number;

    @Column({ nullable: true, default: null })
    key: string;

    @Column({ nullable: true, default: null })
    reference: string;
}

И в моем преобразователе моя мутация будет:

Mutation: {
        createUser: async(_,{ input },ctx) => {
            let user = new User();
            user.reference = input.reference
            return await ctx.db.manager.save(user);
        },

Это мой запрос с входной переменной:

mutation($UserInput:UserInput){
  createUser(input:$UserInput)
  {
    id
    key
    reference
  }
}
{
 "UserInput":{
   "key":"key1"
 }
}

В моем запросе выше скажите, пропустил ли я при вставке reference.Если вы консоль выйдите из значения input.reference внутри функции мутации, вы увидите, что он возвращает undefined.Но так как мы включили опцию nullable в typeorm ранее, база данных принимает значение undefined и возвращает null.

Просто любопытно, будет ли значение undefined израсходовать память базы данных?Какое влияние?Или я должен иметь проверку состояния в моей функции мутации, чтобы избежать вставки значения undefined в мою базу данных?

...