В этой статье блога мы углубимся в мир ограничений 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.