mysqldump -u root -p database_A > /home/asrofil/dump_database_A.sql

inject dump sql ke ubuntu mysql

mysql -u root -p database_B < /home/asrofil/dump_database_A.sql

Grant user for spesific table

buat user dulu

CREATE USER 'asrofil'@'%' IDENTIFIED BY "password ni.."

READ only ke semua table (BASELINE)

GRANT SELECT
ON kocak_2.*
TO 'app_user'@'%';

AUTO-GENERATE FULL ACCESS untuk spesifik table, contoh:tms_* & smart_lab_*

SELECT CONCAT(
  'GRANT INSERT, UPDATE, DELETE ON kocak_2.', table_name,
  ' TO ''app_user''@''%'';'
) AS grant_sql
FROM information_schema.tables
WHERE table_schema = 'kocak_2'
  AND (
    table_name LIKE 'tms_%'
    OR table_name LIKE 'smart_lab_%'
  );

Apply

FLUSH PRIVILEGES;

Cek hasilnya coyy

SHOW GRANTS FOR 'app_user'@'%';

migation based on context

php artisan migrate $(for f in database/migrations/*nama_file*; do printf -- '--path=%s ' "$f"; done)

Problems

  1. kalau export mysqldump dari product jetbrains jangan gunakan lock tables. Fungsi dari lock tables itu seperti “freeze” sementara db, jadinya ketika ada transaksi baru di table manapun maka gabisa insert tuh… datanya, dimaksudkan sih biar ga saling tumpang tindih… biar ga nabrak