刚开始使用Sequelize并试图让迁移工作,并希望看到迁移实际上针对数据库运行的SQL.
我发现了一个github注释,建议如何将日志记录传递给调试模块,但是我在哪里放置"选项".
options: {
logging: debug('sequelize')
}
Run Code Online (Sandbox Code Playgroud)
启用"logging":在配置连接数据库(文件data_base.json)中为true.
例
{
"username": "postgres",
"password": "postgres",
"database": "agencias",
"host": "127.0.0.1",
"dialect": "postgres",
"timezone": "America/La_Paz",
"migrationStorage": "sequelize",
"migrationStorageTableName": "sequelize_migration",
"logging":true,
"pool": {
"max": 15,
"min": 0,
"idle": 10000
}
}
Run Code Online (Sandbox Code Playgroud)
在项目中执行
sequelize db:migrate --migrations-path src/migrations --config data_base.json
Run Code Online (Sandbox Code Playgroud)
小智 6
有几个可能的地方可以添加这个以进行续集。在.sequelizerc
,如果你想看到所有日志记录sequelize CLI(见文档)。如果您只想查看向上/向下迁移中的特定查询,那么您可以将它作为options 的一部分传递给每个 queryInterface 调用。
例如,createTable
你可以这样做:
queryInterface.createTable('myNewTable', {
'my_column': Sequelize.STRING
}, {
logging: console.log
});
Run Code Online (Sandbox Code Playgroud)
Sequelize CLI 将定义的配置传递config/config.js
给sequelize 构造函数。运行时使用以下命令记录 SQL 查询sequelize db:migrate
'use strict';
module.exports = {
development: {
host: process.env.MSSQL_SERVER || 'localhost',
username: process.env.MSSQL_USER || 'MSSQL_USER',
password: process.env.MSSQL_USER_PASS || 'MSSQL_PASS',
database: process.env.MSSQL_DB || 'DATABASE_NAME',
dialect: process.env.DIALECT || 'mssql',
logging: console.log
}
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4409 次 |
最近记录: |