Size: a a a

Node.js — русскоговорящее сообщество

2019 November 20

K

Kurakste in Node.js — русскоговорящее сообщество
Денис Писаренко
Привет всем
Подскажите пожалуйста по sequelize
вот у меня есть папка с моделями, есть файл в котором происходит создание объекта sequelize и его export, там же я делаю импорт этих моделей и делаю также экспорт объектов этих моделей

Правильная ли такая структура? и как сделать ассоциации в этом случае, в документации в примере создается классы всех моделей в одном файле и потом уже делаю belongTo и прочее, а как в моем случае это сделать?
Не знаю как правильно. У меня в одной папке лежат все модели. Там же лежит index.js
Дальше в сервисях я импортирую модели и пользуюсь ими:

const models = require('../../models');
const { Bill, User } = models;
источник

ДП

Денис Писаренко in Node.js — русскоговорящее сообщество
Kurakste
Не знаю как правильно. У меня в одной папке лежат все модели. Там же лежит index.js
Дальше в сервисях я импортирую модели и пользуюсь ими:

const models = require('../../models');
const { Bill, User } = models;
А можешь показать как ты саму модель описываешь?
источник

K

Kurakste in Node.js — русскоговорящее сообщество
Денис Писаренко
А можешь показать как ты саму модель описываешь?
'use strict';
module.exports = (sequelize, DataTypes) => {
 const alarm = sequelize.define('Alarm', {
   UserId: DataTypes.INTEGER,
   track: DataTypes.JSON,
   regionId: DataTypes.INTEGER,
   status: DataTypes.INTEGER,
   oid: DataTypes.INTEGER,
   pickedUpAt: DataTypes.DATE,
   groupSendAt: DataTypes.DATE,
   declineAt: DataTypes.DATE,
   closedAt: DataTypes.DATE,
   createdAt: DataTypes.DATE,
   notes: DataTypes.TEXT,
   address: DataTypes.TEXT,
 }, {});
 alarm.associate = function (models) {
   // associations can be defined here

   alarm.belongsToMany(models.Gbr, { through: 'GbrsToAlarms', onDelete: 'cascade' });
   alarm.belongsTo(models.User);

 };
 return alarm;
};
источник

ДП

Денис Писаренко in Node.js — русскоговорящее сообщество
Kurakste
'use strict';
module.exports = (sequelize, DataTypes) => {
 const alarm = sequelize.define('Alarm', {
   UserId: DataTypes.INTEGER,
   track: DataTypes.JSON,
   regionId: DataTypes.INTEGER,
   status: DataTypes.INTEGER,
   oid: DataTypes.INTEGER,
   pickedUpAt: DataTypes.DATE,
   groupSendAt: DataTypes.DATE,
   declineAt: DataTypes.DATE,
   closedAt: DataTypes.DATE,
   createdAt: DataTypes.DATE,
   notes: DataTypes.TEXT,
   address: DataTypes.TEXT,
 }, {});
 alarm.associate = function (models) {
   // associations can be defined here

   alarm.belongsToMany(models.Gbr, { through: 'GbrsToAlarms', onDelete: 'cascade' });
   alarm.belongsTo(models.User);

 };
 return alarm;
};
А index.js в ./models?
источник

ДП

Денис Писаренко in Node.js — русскоговорящее сообщество
И какая версия sequelize?
источник

K

Kurakste in Node.js — русскоговорящее сообщество
Денис Писаренко
И какая версия sequelize?
"sequelize": "^5.19.0",
источник

K

Kurakste in Node.js — русскоговорящее сообщество
Денис Писаренко
А index.js в ./models?
const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.json')[env];
const db = {};

let sequelize;
if (config.use_env_variable) {
 sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
 sequelize = new Sequelize(config.database, config.username, config.password, config);
}

fs
 .readdirSync(__dirname)
 .filter(file => {
   return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
 })
 .forEach(file => {
   const model = sequelize['import'](path.join(__dirname, file));
   db[model.name] = model;
 });

Object.keys(db).forEach(modelName => {
 if (db[modelName].associate) {
   db[modelName].associate(db);
 }
});

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

module.exports = db;
источник

ДП

Денис Писаренко in Node.js — русскоговорящее сообщество
Kurakste
const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.json')[env];
const db = {};

let sequelize;
if (config.use_env_variable) {
 sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
 sequelize = new Sequelize(config.database, config.username, config.password, config);
}

fs
 .readdirSync(__dirname)
 .filter(file => {
   return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
 })
 .forEach(file => {
   const model = sequelize['import'](path.join(__dirname, file));
   db[model.name] = model;
 });

Object.keys(db).forEach(modelName => {
 if (db[modelName].associate) {
   db[modelName].associate(db);
 }
});

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

module.exports = db;
Так вроде какие то движения начались, спасибо!
Теперь вот такая ошибка выходит errorMissingColumn

при keft join колонка вообще странная выходила, попробовал сделать так, и вообще приложение крашится при создании, как вообще в таких случаях ошибки смотреть?
источник

ДП

Денис Писаренко in Node.js — русскоговорящее сообщество
источник

MO

Makpal Orakkyzy in Node.js — русскоговорящее сообщество
Добрый день, требуется ‼ разработчик node js ‼ проектная работа, достойная оплата.
источник

ДМ

Денис Макаров in Node.js — русскоговорящее сообщество
Makpal Orakkyzy
Добрый день, требуется ‼ разработчик node js ‼ проектная работа, достойная оплата.
правила в чатике есть
источник

MO

Makpal Orakkyzy in Node.js — русскоговорящее сообщество
простите🙏 не прочитала правила 👀☺
источник

N

Nelkor in Node.js — русскоговорящее сообщество
Всем привет!

Вопрос про нативный http-модуль ноды. Функция-обработчик запроса принимает req и res, которые, вероятно, являются net-сокетами (у них имеются соответствующие методы). Я могу задать обработчик для события data сокета req и таким образом получать чанки тела POST-запроса. Пока что всё логично.

В то же время браузер хочет установить keep-alive-соединение и сервер ему в этом не отказывает, соответствующие заголовки есть как в request-headers, так и в response-headers. Разумеется, я и не против.

При keep-alive-соединении связь не рвётся, то есть можно было бы предположить, что req-сокет остаётся тем же самым. И обработчик запроса повесит на него второй обработчик события data. Этого не происходит. Разумеется, это хорошо, что так не происходит. Но хотелось бы разобраться, как это работает.
источник

r🧬

rmshell 🧬 in Node.js — русскоговорящее сообщество
Nelkor
Всем привет!

Вопрос про нативный http-модуль ноды. Функция-обработчик запроса принимает req и res, которые, вероятно, являются net-сокетами (у них имеются соответствующие методы). Я могу задать обработчик для события data сокета req и таким образом получать чанки тела POST-запроса. Пока что всё логично.

В то же время браузер хочет установить keep-alive-соединение и сервер ему в этом не отказывает, соответствующие заголовки есть как в request-headers, так и в response-headers. Разумеется, я и не против.

При keep-alive-соединении связь не рвётся, то есть можно было бы предположить, что req-сокет остаётся тем же самым. И обработчик запроса повесит на него второй обработчик события data. Этого не происходит. Разумеется, это хорошо, что так не происходит. Но хотелось бы разобраться, как это работает.
Начал за здравие закончил про упакой
источник

r🧬

rmshell 🧬 in Node.js — русскоговорящее сообщество
http != websocket
источник

r🧬

rmshell 🧬 in Node.js — русскоговорящее сообщество
Если небыло апгрейта http до вебсокета
источник

r🧬

rmshell 🧬 in Node.js — русскоговорящее сообщество
Вебсокет != Unix socket
источник

N

Nelkor in Node.js — русскоговорящее сообщество
Чел, это всё не новости, что ты пишешь 😊
источник

r🧬

rmshell 🧬 in Node.js — русскоговорящее сообщество
Это замечательно) но как ты сокет к http приплёл?
источник

N

Nelkor in Node.js — русскоговорящее сообщество
Я хз даже что тебе на это ответить) http - это протокол поверх tcp. Он юзает tcp-сокеты
источник