Razumem kako deluje sql in relacije med tabelami.

This commit is contained in:
2022-02-07 20:05:51 +01:00
parent 61dd1649fd
commit 638890ad9f
9 changed files with 10 additions and 21 deletions

1
app.js
View File

@ -11,6 +11,7 @@ var messagesRouter = require('./routes/message');
var app = express(); var app = express();
const db = require('./models'); const db = require('./models');
db.sequelize.sync({ force: true });
// view engine setup // view engine setup
app.set('views', path.join(__dirname, 'views')); app.set('views', path.join(__dirname, 'views'));

Binary file not shown.

View File

@ -8,9 +8,6 @@ module.exports = {
primaryKey: true, primaryKey: true,
type: Sequelize.INTEGER type: Sequelize.INTEGER
}, },
owner: {
type: Sequelize.INTEGER
},
body: { body: {
type: Sequelize.STRING type: Sequelize.STRING
}, },

View File

@ -24,8 +24,8 @@ fs
db[model.name] = model; db[model.name] = model;
}); });
db.Message.belongsTo(db.User, {foreignKey: "id", as: "messages"}); db.User.hasMany(db.Message, {foreignKey: 'UserId'});
db.User.hasMany(db.Message, {oreignKey: "id", as: "owner"}); db.Message.belongsTo(db.User);
Object.keys(db).forEach(modelName => { Object.keys(db).forEach(modelName => {
if (db[modelName].associate) { if (db[modelName].associate) {

View File

@ -1,5 +1,4 @@
'use strict'; 'use strict';
const User = require('./user').User;
const { const {
Model Model
} = require('sequelize'); } = require('sequelize');
@ -15,7 +14,6 @@ module.exports = (sequelize, DataTypes) => {
} }
} }
Message.init({ Message.init({
owner: DataTypes.INTEGER,
body: DataTypes.STRING body: DataTypes.STRING
}, { }, {
sequelize, sequelize,

View File

@ -1,5 +0,0 @@
const Message = require('./message').Message;
const User = require('./user').User;
Message.belongsTo(User, {foreignKey: "id", as: "messages"});
User.hasMany(Message, {oreignKey: "id", as: "owner"});

View File

@ -1,5 +1,4 @@
'use strict'; 'use strict';
const Message = require('./message');
const { const {
Model Model
} = require('sequelize'); } = require('sequelize');
@ -24,9 +23,3 @@ module.exports = (sequelize, DataTypes) => {
}); });
return User; return User;
}; };
// const Message = require('./message').Message;
// Message.belongsTo(User, {foreignKey: "id", as: "messages"});
// User.hasMany(Message, {oreignKey: "id", as: "owner"});

View File

@ -2,11 +2,16 @@ var express = require('express');
const db = require('../models'); const db = require('../models');
var router = express.Router(); var router = express.Router();
var Message = db.Message; var Message = db.Message;
var User = db.User;
/* GET users listing. */ /* GET users listing. */
router.get('/', async function(req, res, next) { router.get('/', async function(req, res, next) {
var messages = await Message.findAll(); var messages = await Message.findAll();
res.send(messages); res.send(messages);
}); });
router.get('/new', async function(req, res, next) {
var message = await Message.create({'body':'My First Message', UserId:3});
res.send(message);
});
module.exports = router; module.exports = router;