cli
cli copied to clipboard
Config `option` are not being picked up and used.
What you are doing?
Sequelize has a parameter in it's constructor called options
https://sequelize.org/api/v6/class/src/sequelize.js~sequelize#instance-constructor-constructor
which has an item called define
(more on the define) where additional items such as underscored
, paranoid
, timestamps
etc. can be specified.
In my custom config file specified in the .sequelizerc
, I have the that options object, however, they are not being picked up.
It seems like only the underscored work if and only if included in the model:generate
as an option --underscored
// .sequelizerc
module.exports = {
'config': path.resolve('src', 'myconfig.js'),
'models-path': path.resolve('src', 'models')
};
// myconfig.js
const username = process.env.DATABASE_USERNAME;
const password = process.env.DATABASE_PASSWORD;
const database = process.env.DATABASE_NAME;
const host = process.env.DATABASE_HOST;
const dialect = 'postgres';
const options = {
define: {
underscored: true,
paranoid: true,
},
};
module.exports = { username, password, database, host, dialect, options };
// Also tried this:
const define = {
underscored: true,
paranoid: true
};
module.exports = { username, password, database, host, dialect, define };
What do you expect to happen?
I expect the config attributes to be picked up and work such that the migration file would include a deleted_at
and the createdAt
and updatedAt
would be created_at
and updated_at
respectively.
What is actually happening?
It's not picking them up and using the default behaviour. It works exactly the same way with and without the options
.
The deleted_at
is not created. The createdAt
and updatedAt
remain the same.
Dialect: postgres Sequelize CLI version: 6.4.1 Sequelize version: 6.21.3
Edit 1:
include the module.exports
in the myconfig.js
as per the comment: https://github.com/sequelize/cli/issues/1139#issuecomment-1219506878
Hi your file myconfig js, it must define an export, agree? Please show us the export i.e. module.exports=... If this doesn't work, I wonder if sequelizerc files simply do not support the options arguments
Hi your file myconfig js, it must define an export, agree? Please show us the export i.e. module.exports=... If this doesn't work, I wonder if sequelizerc files simply do not support the options arguments
Agree, I have the module.exports.
const username = process.env.DATABASE_USERNAME;
const password = process.env.DATABASE_PASSWORD;
const database = process.env.DATABASE_NAME;
const host = process.env.DATABASE_HOST;
const dialect = 'postgres';
const options = {
define: {
underscored: true,
paranoid: true,
},
};
module.exports = { username, password, database, host, dialect, options };
Edit 1:
Updated the issue to include the above module.exports