Tips & Trick
Pada versi MySQL terbaru, character set default yang digunakan adalah utf8mb4, agar compatible direstore ke MySQL versi lawas, kita harus mengubahnya menjadi utf8.
sed 's/utf8mb4_unicode_520_ci/utf8_unicode_ci/g' original-mysql-data.sql > updated-mysql-data.sql sed 's/utf8mb4/utf8/g' original-mysql-data.sql > updated-mysql-data.sql
Restore Backup yang Memiliki Kolom dengan Tipe GENERATED ALWAYS AS
Error ini terjadi jika kita merestore backup dari MariaDB ke MySQL, solusi pragmatisnya adalah dengan mengubah tipe kolom nya :
sed 's/GENERATED ALWAYS AS .* VIRTUAL/NOT NULL/' backup.sql > backup_new.sql
Hapus kolom yg kita ubah sementara tadi, lalu regenerate kembali :
alter table tbl_penjualan drop column cnofaktur_tanpa_jenisbayar ;
alter table tbl_penjualan add column `cnofaktur_tanpa_jenisbayar` varchar(14) GENERATED ALWAYS AS (concat(left(`cnofaktur`,3),right(`cnofaktur`,octet_length(`cnofaktur`) - 4))) VIRTUAL;
Referensi
- Continuous MySQL backup validation: Restoring backups, https://code.facebook.com/posts/1007323976059780/continuous-mysql-backup-validation-restoring-backups