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

  • 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; 
          }; 
    
主站蜘蛛池模板: 江门市| 花莲市| 广灵县| 镇巴县| 蒲江县| 皮山县| 左权县| 黎城县| 阿尔山市| 永清县| 临夏县| 肥乡县| 伊通| 北海市| 姜堰市| 松原市| 塔河县| 平罗县| 平舆县| 神池县| 和平县| 繁峙县| 长岛县| 青川县| 门头沟区| 江孜县| 五原县| 皮山县| 敦化市| 马山县| 台湾省| 松原市| 巩义市| 宁明县| 隆回县| 黑水县| 商洛市| 怀安县| 陵川县| 永宁县| 古蔺县|