В этой статье блога мы углубимся в мир ограничений null и unique в TypeORM, популярной библиотеке объектно-реляционного отображения (ORM) для Node.js и TypeScript. Мы рассмотрим различные методы установки столбцов как нулевых или уникальных, используя разговорный язык, и предоставим примеры кода для иллюстрации каждого подхода. К концу этого руководства вы получите четкое представление о том, как эффективно использовать ограничения null и unique в ваших проектах TypeORM.
- Настройка столбца как допускающего значение NULL:
Чтобы установить столбец как допускающий значение NULL и разрешить ему принимать значения NULL, вы можете использовать параметрnullable
при определении столбца в классе сущности.. Давайте рассмотрим пример, где у нас есть сущностьUser
со столбцомemail
, допускающим значение NULL:
@Entity()
class User {
@PrimaryGeneratedColumn()
id: number;
@Column({ nullable: true })
email: string;
}
Если установить nullable: true
, столбец email
сможет принимать нулевые значения.
- Настройка столбца как уникального.
Чтобы сделать столбец уникальным и гарантировать, что все значения в этом столбце различны, вы можете использовать параметрunique
при определении столбца в ваш класс сущности. Давайте изменим нашу сущностьUser
, чтобы она имела уникальный столбецusername
:
@Entity()
class User {
@PrimaryGeneratedColumn()
id: number;
@Column({ unique: true })
username: string;
}
Если установить unique: true
, столбец username
будет содержать только уникальные значения.
- Настройка нескольких столбцов как уникальных.
Вы также можете сделать несколько столбцов уникальными с помощью декоратора@Unique
, предоставляемого TypeORM. Давайте рассмотрим пример, где у нас есть сущностьProduct
с уникальной комбинациейname
иcategory
:
@Entity()
class Product {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
category: string;
@Unique(['name', 'category'])
uniqueNameCategory: string;
}
Применяя декоратор @Unique
к свойству uniqueNameCategory
, мы гарантируем, что комбинация name
и category
значения уникальны.
В этой статье мы рассмотрели различные методы установки столбцов как нулевых или уникальных в TypeORM. Мы узнали, как использовать параметры nullable
и unique
для определения ограничений столбцов, а также как сделать несколько столбцов уникальными с помощью декоратора @Unique
.. Используя эти методы, вы можете обеспечить целостность данных и повысить эффективность ваших приложений на основе TypeORM.