我目前正在尝试通过为自己开发一个膳食计划应用来学习React.来自传统的商业编程世界,我决定使用MySQL作为后端,Sequelize/GraphQL作为我的数据接口.
我有一个数据模型如下: - 用户
有餐 - 餐
有日,属性(早餐,午餐等)的属性和"MealItems"
-MealItems可以是FoodItem或食谱
-Recipes基本上是一个集合FoodItems
我用这个数据模式实现了这个想法(在Access中实现了非常快速的模型):膳食计划模型
我已经设法编写了一个Sequelize模型,它可以完全按照我想要的方式创建表和约束.我使用官方Sequelize文档中的n:m关联示例来创建MealItems查找表,该表应允许模型根据范围("ItemType")动态返回FoodItem或Recipe.(但我不知道我是否正确地执行了这一部分,因为我无法通过原始SQL查询以外的任何其他方式提取数据.)
我的项目的完整源代码可以在这里找到:(相关的数据组件在'./src/data'下) https://github.com/philspins/NourishMe
Sequelize模型:
//
// Model definitions
// -----------------------------------------------------------------------------
import DataType from "sequelize";
import Model from "../sequelize";
const FoodItem = Model.define("FoodItem",
{
Name: { type: DataType.STRING(100) },
Quantity: { type: DataType.STRING(32) },
Weight: { type: DataType.INTEGER },
Calories: { type: DataType.INTEGER },
Protein: { type: DataType.DOUBLE },
Carbs: { type: DataType.DOUBLE },
Fat: { type: DataType.DOUBLE },
Fibre: { type: DataType.DOUBLE },
ImageURL: { type: DataType.TEXT } …Run Code Online (Sandbox Code Playgroud)