emd.js 1.31 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*

  # DB의 EMD(읍면동) 테이블의 모델입니다.

  - 읍/면/동의 코드와 이름을 저장합니다.
  - 외래키로 Do 코드와 SGG 코드를 사용합니다.

*/

import { DataTypes, Model } from "sequelize";

export class Emd extends Model {
  static init(sequelize) {
    return super.init(
      {
16
        code_emd: {
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
          type: DataTypes.INTEGER,
          allowNull: true,
          primaryKey: true,
        },
        name_emd: {
          type: DataTypes.STRING(20),
          allowNull: false,
        },
      },
      {
        sequelize,
        timestamps: false,
        paranoid: false,
      }
    );
  }

  static associate(db) {
35
    // emd 모델이 참조하는 테이블에 대한 외래키 설정
36
    db.Emd.belongsTo(db.Doe, {
37
38
      foreignKey: "code_doe",
      targetKey: "code_doe",
39
40
41
    });
    db.Emd.belongsTo(db.Sgg, {
      foreignKey: "code_sgg",
42
      targetKey: "code_sgg",
43
44
    });

45
    // emd 모델을 참조하는 테이블에 대한 외래키 설정
46
47
    db.Emd.hasMany(db.User, {
      foreignKey: "loc_code",
48
      sourceKey: "code_emd",
49
50
51
      onDelete: "CASCADE",
      onUpdate: "CASCADE",
    });
52
    db.Emd.hasMany(db.Weather_Out, {
53
      foreignKey: "loc_code",
54
      sourceKey: "code_emd",
55
56
57
58
59
60
61
      onDelete: "CASCADE",
      onUpdate: "CASCADE",
    });
  }
}

export default Emd;