- Hands-On Full-Stack Web Development with GraphQL and React
- Sebastian Grebe
- 212字
- 2021-07-02 13:20:49
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 inserting or updating rows in our database. We already wrote a schema for GraphQL in the schema.js file 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 data from your database through the API, or maybe you generate data for your GraphQL API on the fly, when requesting data.
Let's create the first model for our posts. Create two new folders (one called models, and the other, migrations) next to the database folder:
mkdir src/server/models
mkdir src/server/migrations
Creating each model in a separate file is much cleaner than having one big file for all models.
- 通信網(wǎng)絡(luò)基礎(chǔ)與設(shè)備
- 連接未來:從古登堡到谷歌的網(wǎng)絡(luò)革命
- Web安全防護(hù)指南:基礎(chǔ)篇
- 物聯(lián)網(wǎng)(IoT)基礎(chǔ):網(wǎng)絡(luò)技術(shù)+協(xié)議+用例
- C++黑客編程揭秘與防范
- 物聯(lián)網(wǎng)工程規(guī)劃技術(shù)
- 物聯(lián)網(wǎng)檢驗檢測技術(shù)
- HTML5 Game development with ImpactJS
- 區(qū)塊鏈輕松上手:原理、源碼、搭建與應(yīng)用
- Metasploit Penetration Testing Cookbook
- 4G小基站系統(tǒng)原理、組網(wǎng)及應(yīng)用
- SAE原理與網(wǎng)絡(luò)規(guī)劃
- 物聯(lián)網(wǎng)場景設(shè)計與開發(fā)(初級)
- Hands-On Microservices with Node.js
- 數(shù)據(jù)血緣分析原理與實(shí)踐