programing

Sequetize.js에서 생성한 SQL을 보려면 어떻게 해야 합니까?

minimums 2023. 8. 21. 21:01
반응형

Sequetize.js에서 생성한 SQL을 보려면 어떻게 해야 합니까?

Postgre로 전송되는 SQL 명령을 보고 싶습니다.SQL 서버가 맞는지 확인해야 해서요.특히 테이블 생성 명령어에 관심이 있습니다.

예를 들어 ActiveRecord(Ruby)는 SQL 문을 표준 출력으로 인쇄합니다.이것이 Node.js/ActionHero.js 및 Sequetize.js에서도 가능합니까?

sufficientize를 초기화할 때 로깅 옵션을 전달할 수 있습니다. sufficientize는 function 또는 console.log일 수 있습니다.

var sequelize = new Sequelize('database', 'username', 'password', {
    logging: console.log
    logging: function (str) {
        // do your own logging
    }
});

테이블 생성 쿼리만 보려는 경우 로깅 옵션을 .sync에 전달할 수도 있습니다.

sequelize.sync({ logging: console.log })

로그에 명시된 바와 같이Error: Please note that find* was refactored and uses only one options object from now on.최신 속편 버전(4)의 경우 하나의 명령에 대해서만 결과를 얻으려면 다음을 수행합니다.

User.findAll({where: {...}, logging: console.log})

만약 당신이 하나의 명령어에 대한 후속작을 보고 싶다면, 당신은 그것을 듣고 SQL 인쇄에 함수를 첨부할 수 있습니다.

다음 예를 확인하십시오.

User.find(1).on('sql', console.log).then(function(user) {
  // do whatever you want with the user here

사용자 환경을 다음과 같이 설정하여 Sequetize의 디버그 모듈 사용을 활용할 수도 있습니다.DEBUG=sequelize:sql*앱을 시작하기 전에.

언급URL : https://stackoverflow.com/questions/21427501/how-can-i-see-the-sql-generated-by-sequelize-js

반응형