Data Persistence with PostgreSQL
By this point in the book, the frontend for our application has been defined, and our app is working at face value. However, we know that our app is reading and writing from a JSON file.
In this chapter, we get rid of our JSON file and introduce a PostgreSQL database to store our data. We do this by setting up a database development environment using Docker. We then build data models in Rust to interact with the database, refactoring our app so that the create, edit, and delete endpoints interact with the database instead of the JSON file. Finally, we exploit Rust traits so any database handle that has implemented our database transaction traits can be swapped into the application with minimal effort.
In this chapter, we will cover the following topics:
- Building our PostgreSQL database
- Adding SQLX to the data access layer
- Defining our database transactions
- Connecting our transactions to the core
- Connecting...