官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 香格里拉县| 焉耆| 宁远县| 长沙县| 凤庆县| 闽侯县| 吴忠市| 沽源县| 靖西县| 乌鲁木齐县| 揭阳市| 渝北区| 屏边| 泉州市| 阿拉善左旗| 陆良县| 乌兰县| 札达县| 大渡口区| 金山区| 曲水县| 文水县| 德钦县| 郯城县| 上虞市| 资中县| 应用必备| 宁阳县| 保山市| 静海县| 盱眙县| 开原市| 南江县| 集安市| 溆浦县| 蕉岭县| 无极县| 霍山县| 罗平县| 慈溪市| 贺州市|