Chcę zobaczyć polecenia SQL, które są wysyłane do serwera PostgreSQL, ponieważ muszę sprawdzić, czy są poprawne. W szczególności interesują mnie polecenia tworzenia tabel.
Na przykład ActiveRecord (Ruby) wypisuje swoje instrukcje SQL na standardowe wyjście. Czy jest to możliwe również w przypadku Node.js / ActionHero.js i Sequelize.js?
node.js
sequelize.js
ideaboxer
źródło
źródło
DEPRECATION WARNING: The logging-option should be either a function or false. Default: console.log
-- co to znaczy?true
.console.log
działa w tajemniczy sposób. Powinieneś być w stanie uniknąć komunikatu dziennika za pomocą{ logging: (msg) => console.log(msg) }
lub{ logging: function(msg) { console.log(msg) } }
. (niesprawdzone, więc mogę się całkowicie mylić)Jak podano w dzienniku
Error: Please note that find* was refactored and uses only one options object from now on.
. Dla najnowszej wersji sequelize (4), jeśli chcesz mieć wynik tylko dla jednego polecenia:User.findAll({where: {...}, logging: console.log})
źródło
query(statement, { replacements: { userId: userId, superiorPositions: [ 4, 5, 7 ], departments: [ departmentId ] }, logging: console.log });
Jeśli chcesz spojrzeć na sequelize dla jednego polecenia, możesz go posłuchać i dołączyć funkcję do wydruku sql.
Sprawdź ten przykład:
źródło
User.find(1, { logging: console.log })
<functionName>.findOne(...).on is not a function
Using sequelize 3.30.4get*
w źródle relacji shouldTo.Możesz także skorzystać z zastosowania modułu Debug w Sequelize, ustawiając swoje środowisko, a więc:
DEBUG=sequelize:sql*
przed uruchomieniem aplikacji.źródło