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();
const db = require('./models');
db.sequelize.sync({ force: true });
// view engine setup
app.set('views', path.join(__dirname, 'views'));

Binary file not shown.

View File

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

View File

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

View File

@ -1,5 +1,4 @@
'use strict';
const User = require('./user').User;
const {
Model
} = require('sequelize');
@ -15,7 +14,6 @@ module.exports = (sequelize, DataTypes) => {
}
}
Message.init({
owner: DataTypes.INTEGER,
body: DataTypes.STRING
}, {
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';
const Message = require('./message');
const {
Model
} = require('sequelize');
@ -24,9 +23,3 @@ module.exports = (sequelize, DataTypes) => {
});
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');
var router = express.Router();
var Message = db.Message;
var User = db.User;
/* GET users listing. */
router.get('/', async function(req, res, next) {
var messages = await Message.findAll();
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;