Hallo,
Ich möchte sql_mode
auf NO_ENGINE_SUBSTITUTION
setzen, um die Standardeinstellung strict mode
in MySQL Server v5.7.x zu umgehen
Sie können die Variable sql_mode
MySQL überprüfen, indem Sie SHOW VARIABLES LIKE 'sql_mode';
in die MySQL-Client-Konsole eingeben.
NO_ENGINE_SUBSTITUTION
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Meine aktuelle Problemumgehung bestand darin, den Abschnitt mysqld in der Datei
sql_mode='NO_ENGINE_SUBSTITUTION'
Ich möchte es jedoch eher auf der Webanwendungsebene als auf der DB-Serverebene behalten. Alle Ratschläge geschätzt.
Vielen Dank!
Hi @ rhys-vdw,
Ich weiß nicht, ob dies der offizielle Weg ist, um das oben genannte Ergebnis zu erzielen. Trotzdem reicht es für mich aus, die Funktion afterCreate
im Abschnitt pool
der Verbindungseinstellungen zu überschreiben. Hier ist die Quelle:
dbase: {
client: 'mysql',
connection: {
socketPath: '/var/run/mysqld/mysqld.sock',
database : 'db_name',
user: 'db_username',
password : 'db_password',
timezone: 'UTC',
charset: 'utf8mb4_unicode_ci',
supportBigNumbers:true
},
pool: {
min: 2,
max: 10,
afterCreate: function(conn, cb) {
conn.query('SET sql_mode="NO_ENGINE_SUBSTITUTION";', function (err) {
cb(err, conn);
});
}
}
}
Freundliche Grüße,
Luca
Danke @lanceschi , ich habe nicht
Rückruf wird dokumentiert und geschlossen
Hilfreichster Kommentar
Hi @ rhys-vdw,
Ich weiß nicht, ob dies der offizielle Weg ist, um das oben genannte Ergebnis zu erzielen. Trotzdem reicht es für mich aus, die Funktion
afterCreate
im Abschnittpool
der Verbindungseinstellungen zu überschreiben. Hier ist die Quelle:Freundliche Grüße,
Luca