The Elephant in the Room

Upon reviewing our core features, some core concerns jump out.

We need a great deal of flexibility in many parts of our app, such as user profiles and posts. Additionally, we need a way of working with some complex relationships, such as posts written by or re-posted by users that are followed.

Our next objective is to design our application’s data model, but first we should address these concerns. The key shortfall of our current implementation is H2. It has served us well so far, but it’s missing some key features we want, the most notable being PostgreSQL’s JSONB type.

Before we get started, you need a running PostgreSQL instance. Take a look at Appendix 4, Database Access, first if you need to set one up.

Let’s ...

Get Web Development with Clojure, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.