mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
const { Sequelize } = require('sequelize');
|
|
const mdl_Users = require('./models/users/users.mdl');
|
|
const { mdl_UserGroups, mdl_UserGroupMembers } = require('./models/users/user_groups.mdl');
|
|
const sequelize = require('./config/db.config');
|
|
|
|
(async () => {
|
|
try {
|
|
await sequelize.authenticate();
|
|
console.log('DB connected OK');
|
|
|
|
// Find any group_id to test with
|
|
const anyGroup = await mdl_UserGroups.findOne({ attributes: ['group_id'], paranoid: false });
|
|
console.log('sample group_id:', anyGroup?.group_id);
|
|
const group_id = anyGroup?.group_id;
|
|
|
|
const order = [[Sequelize.json('personal_info.name.full_name'), 'ASC']];
|
|
|
|
const result = await mdl_Users.findAndCountAll({
|
|
attributes: ['user_id'],
|
|
order,
|
|
limit: 3,
|
|
offset: 0,
|
|
include: [{
|
|
model: mdl_UserGroupMembers,
|
|
where: { group_id },
|
|
attributes: [],
|
|
required: true,
|
|
}],
|
|
logging: (sql) => console.log('\n[SQL]', sql),
|
|
});
|
|
console.log('SORT+JOIN RESULT COUNT:', result.count, 'rows:', result.rows.length);
|
|
} catch (e) {
|
|
console.error('ERROR:', e.message);
|
|
} finally {
|
|
await sequelize.close();
|
|
}
|
|
})();
|