node.JS/sequelize关联数据库表

node.JS/sequelize关联数据库表,node.js,postgresql,sequelize.js,Node.js,Postgresql,Sequelize.js,我正在尝试关联两个数据库表,但我不知道在配置中添加代码的确切位置: config.js const Sequelize = require("sequelize"); const sequelize = new Sequelize("training", "postgres", "test", { host: "localhost", dialect: "postgr

我正在尝试关联两个数据库表,但我不知道在配置中添加代码的确切位置:

config.js

const Sequelize = require("sequelize");

const sequelize  = new Sequelize("training", "postgres", "test", {
    host: "localhost",
    dialect: "postgres",
    dialectOptions: {
      ssl: {
        require: true,
        rejectUnauthorized: false // <<<<<<< YOU NEED THIS
      }
    },
    pool: {
      max: 5,
      min: 0,
      acquire: 30000,
      idle: 10000,
    },
  })

  const db = {};

db.Sequelize = Sequelize;
db.sequelize = sequelize;


// db.sequelize.gallery = require("../models/gallery")(DataTypes);
// db.tags = require("../models/tags.js")(sequelize, Sequelize);

// gallery.hasMany(db.tags, { as: "item" });
// db.tags.belongsTo(db.gallery, {
//   foreignKey: "item",
//   as: "item",
// });
  
module.exports = { db, JWT_SECRET: "secretString",}
index.js

const sequelize = require("sequelize");
const DataTypes = sequelize.DataTypes;
const Types = require("./models/types")(sequelize, DataTypes);
const Tags = require("./models/tags")(sequelize, DataTypes);

config.db.sequelize
  .authenticate()
  .then(() => {
    console.log("Connection has been established successfully.");
  })
  .catch((err) => {
    console.error("Unable to connect to the database:", err);
  });
如果我在模型中创建index.js(我可以在其中添加db关联,我将如何在主文件index.js中调用它?

gallery.js

const { db } = require("../config/configProvider")();
module.exports = function(DataTypes) {
  const Gallery = db.sequelize.define(
    "items",
    {

      // },
      date: {
        type: DataTypes.DATE(),
        // required: true,
      },
      url: {
        type: DataTypes.STRING,
        // required: true,
      },
      description: {
        type: DataTypes.STRING,
      },
      location: {
        type: DataTypes.STRING,
      },
      rating: {
        type:DataTypes.INTEGER,
      }
    },
    { timestamps: false }
  );


  return Gallery;
};

Gallery.associate = function(models) {
    gallery.hasMany(db.tags, { as: "item" });
};
tag.js

Tag.associate = function (models) {
    tags.belongsTo(db.gallery, {
        foreignKey: "item",
        as: "item",
    });
}