Category: TypeScript

NestJS

API with NestJS #177. Response serialization with the Drizzle ORM

This entry is part 177 of 177 in the API with NestJS

When fetching data from the database, we often don’t want to present it to the user in its raw form. To prevent that, we need to serialize the response in NestJS before sending it. The most popular way to achieve that in NestJS is using the library. In this article, we explain how to […]

NestJS SQL

API with NestJS #176. Database migrations with the Drizzle ORM

This entry is part 176 of 177 in the API with NestJS

Relational databases are known for their strict data structures. Every table requires a defined schema, including columns, indexes, and relationships. Despite careful planning during database design, application requirements often evolve. As a result, the database must adapt to keep up with these new needs. However, it’s crucial to ensure that no existing data is lost […]

NestJS SQL

API with NestJS #174. Multiple PostgreSQL schemas with Drizzle ORM

This entry is part 174 of 177 in the API with NestJS

PostgreSQL uses schemas as namespaces within the database to hold tables and other structures, such as indexes. In this article, we explain how to use them with the Drizzle ORM and how they can be beneficial. The public schema Out of the box, PostgreSQL creates a schema called for each new database. database-schema.ts

[…]

NestJS

API with NestJS #173. Storing money with Drizzle ORM and PostgreSQL

This entry is part 173 of 177 in the API with NestJS

We can’t cut corners on certain aspects of web development, and storing monetary values is one of them. In this article, we explore various data types in PostgreSQL we could use and discuss which ones to avoid. The drawbacks of floating point numbers When thinking about money, we often have to deal with fractions – […]

NestJS

API with NestJS #172. Database normalization with Drizzle ORM and PostgreSQL

This entry is part 172 of 177 in the API with NestJS

Database normalization is a key part of database design, but it’s often explained in complicated terms. In this article, we’ll break down the normalization rules and provide down-to-earth examples using Drizzle ORM and PostgreSQL. Database normalization aims to avoid unnecessarily duplicating our data and make it easier to manage. It does that through specific rules […]

NestJS

API with NestJS #171. Recursive relationships with Drizzle ORM and PostgreSQL

This entry is part 171 of 177 in the API with NestJS

Managing relationships between the tables in our database is one of the fundamental aspects of using SQL. When a particular table points back to itself, it creates a recursive relationship. In this article, we learn what the recursive relationships are and how to work with them using the Drizzle ORM and PostgreSQL. We sometimes refer to […]

NestJS

API with NestJS #169. Unique IDs with UUIDs using Drizzle ORM and PostgreSQL

This entry is part 169 of 177 in the API with NestJS

All rows in our database need unique identifiers, typically a sequence of numbers. Alternatively, we can use Universally Unique Identifiers (UUID). In this article, we explore the pros and cons of UUIDs and show how to implement them in a project that uses NestJS, PostgreSQL, and the Drizzle ORM. Introducing UUIDs At this point, we’re […]

NestJS

API with NestJS #167. Unit tests with the Drizzle ORM

This entry is part 167 of 177 in the API with NestJS

Unit tests play a significant role in ensuring the reliability of our NestJS application. In this article, we’ll explain the concept behind unit testing and learn how to apply it to a NestJS application with the Drizzle ORM. Introduction to unit tests Unit tests allow us to verify that individual parts of our codebase function […]