Hai,
saya ingin mengatur sql_mode
menjadi NO_ENGINE_SUBSTITUTION
untuk melewati default strict mode
di server MySQL v5.7.x
Seseorang dapat memeriksa variabel sql_mode
MySQL dengan mengetik SHOW VARIABLES LIKE 'sql_mode';
dari konsol klien MySQL.
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
Solusi saya saat ini adalah mengubah bagian mysqld di /etc/mysql/my.cnf file:
sql_mode='NO_ENGINE_SUBSTITUTION'
Saya ingin menyimpannya di tingkat aplikasi web daripada di tingkat server DB. Setiap saran dihargai.
Terima kasih!
Hai @ rhys-vdw,
Saya tidak tahu apakah ini cara resmi untuk mencapai hasil yang disebutkan di atas, namun mengesampingkan fungsi afterCreate
di bagian pool
dari pengaturan koneksi melakukan trik untuk saya. Berikut sumbernya:
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);
});
}
}
}
Salam Hormat,
Luca
Terima kasih @lanceschi , saya tidak menanggapi karena saya tidak tahu apa solusinya. Saya ingin tahu apakah ada baiknya menambahkan sesuatu tentang panggilan balik ini ke FAQ?
Callback didokumentasikan, ditutup
Komentar yang paling membantu
Hai @ rhys-vdw,
Saya tidak tahu apakah ini cara resmi untuk mencapai hasil yang disebutkan di atas, namun mengesampingkan fungsi
afterCreate
di bagianpool
dari pengaturan koneksi melakukan trik untuk saya. Berikut sumbernya:Salam Hormat,
Luca