Writing database models
After creating a connection to our MySQL server via Sequelize, we want to use it. However, our database is missing a table or structure that we can query or manipulate. Creating those is the next thing that we need to do.
Currently, we have two GraphQL entities: User
and Post
.
Sequelize lets us create a database schema for each of our GraphQL entities. The schema is validated when we insert or update rows in our database. We already wrote a schema for GraphQL in the schema.js
file, which is used by Apollo Server, but we need to create a second one for our database. The field types, as well as the fields themselves, can vary between the database and the GraphQL schema.
GraphQL schemas can have more fields than our database model, or vice versa. Perhaps you do not want to export all the data from your database through the API, or maybe you want to generate data for your GraphQL API on the fly when you're requesting data.
Let's create the...