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

  • Node.js 6.x Blueprints
  • Fernando Monteiro
  • 258字
  • 2021-07-14 10:35:06

Creating Band schema

Let's create the schema that will store in the database the data of each band that the user creates in the system.

  1. Open terminal/shell and type the following command:
     sequelize model:create --name Band --attributes "name:string, description:string, album:string, year:string, UserId:integer"
    
  2. As in the previous step, two files were created, one for migration of data and another to be used as a Band model, as the following code:
          'use strict'; 
          module.exports = function(sequelize, DataTypes) { 
            var Band = sequelize.define('Band', { 
              name: DataTypes.STRING, 
              description: DataTypes.STRING, 
              album: DataTypes.STRING, 
              year: DataTypes.STRING, 
              UserId: DataTypes.INTEGER 
            }, { 
              classMethods: { 
                 associate: function(models) { 
                  // associations can be defined here 
              } 
            } 
          }); 
          return Band; 
          }; 
    

Creating associations between Band and User models

As the last step before using the schemes migration script, we will need to create the associations between the User model and the Band model. We will use the following associations:

Tip

You can find more about associations at the following link: http://docs.sequelizejs.com/en/latest/docs/associations/.

  1. Open the User.js model and add the following highlighted code:
          'use strict'; 
           module.exports = function(sequelize, DataTypes) { 
             var User = sequelize.define('User', { 
               name: DataTypes.STRING, 
               email: DataTypes.STRING 
             }, { 
               classMethods: { 
                 associate: function(models) { 
                  // associations can be defined here 
                  User.hasMany(models.Band); 
                } 
              } 
             }); 
           return User; 
          }; 
    
  2. Open the Band.js model and add the following highlighted code:
          'use strict'; 
           module.exports = function(sequelize, DataTypes) { 
             var Band = sequelize.define('Band', { 
               name: DataTypes.STRING, 
               description: DataTypes.STRING, 
               album: DataTypes.STRING, 
               year: DataTypes.STRING, 
               UserId: DataTypes.INTEGER 
             }, { 
               classMethods: { 
                  associate: function(models) { 
                  // associations can be defined here 
            Band.belongsTo(models.User); 
             } 
            } 
           }); 
           return Band; 
          }; 
    
主站蜘蛛池模板: 镇远县| 恭城| 平遥县| 彰武县| 永昌县| 湘潭市| 交城县| 法库县| 南江县| 淄博市| 开远市| 阿尔山市| 宣武区| 郑州市| 叶城县| 兰考县| 博白县| 尚义县| 武义县| 兴文县| 吴忠市| 淳化县| 延吉市| 百色市| 平江县| 龙山县| 赤壁市| 普兰县| 札达县| 陆丰市| 宜丰县| 清流县| 襄城县| 逊克县| 海宁市| 烟台市| 闻喜县| 廉江市| 肇东市| 东光县| 自贡市|