sequelizeを適用して関係を確立する
続編の適用
1. mysql2, sequelize install
まずライブラリをインストールします.mysql 2は実際のデータに関連するmysqlをインストールしません.
必要なファイルを自動的に生成するにはinitコマンドを入力します
npm i mysql2, sequelize
npx sequelize init
2. app.jsにデータベースバインドコードを入力する
最初はミスが多すぎて斧の表情をつけた...
const { sequelize } = require("./models");
sequelize
.sync({ force: false })
.then(() => {
console.log(`
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
🚧🚧 DB연결 성공! 이게되네🚧🚧
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
`);
})
.catch((error) => {
console.error(`
🪓🪓🪓🪓🪓🪓🪓🪓🪓🪓🪓🪓🪓
🪓🪓 DB연결 실패! ... 🪓🪓
🪓🪓🪓🪓🪓🪓🪓🪓🪓🪓🪓🪓🪓
`);
});
3.Table間の関係を設定する
データベース・モデルを作成する場合は、テーブル間の関係も指定する必要があります.モデルを作成する側に書くことができます.
(例)ArticlesテーブルのarticleIdの値をCommentsテーブルに入れ、onDelete:カスケードで特定のarticleIdの値を削除すると、Commentsテーブルに特定のarticleIdが含まれている値も削除されます.
// models/articles.js
static associate(models) {
Articles.hasMany(models.Comments, {
foreignKey: "articleId",
onDelete: "cascade",
})}
// models/comments.js
static associate(models) {
Comments.belongsTo(models.Articles, { foreignKey: "articleId" })};
// 만약 이렇게 Articles 테이블에 있는 "articleId"을 Comments 테이블과 관계 지어서 집어 넣고 싶을 때
// Comments 테이블 스키마에 "articleId"를 미리 만들어두면 targetKey 를 지정하지 않아도 됨
Reference
この問題について(sequelizeを適用して関係を確立する), 我々は、より多くの情報をここで見つけました https://velog.io/@joo0/sequelize-적용テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol