Hoy os voy a presentar un script que me ha venido muy bien estos días. Sirve para exportar una base de datos poniendo cada tabla en un fichero diferente.
Si estáis realizando operaciones que afectan a todas las tablas y necesitáis restaurar una versión anterior porque el proceso os ha fallado podréis importar sólo las que necesitéis, ahorrándoos así importar la base de datos completa.
Para que os hagáis a la idea, a mí me ha servido en una migración en la que importar la base de datos vieja cuesta 5 horas y el proceso de actualización cerca de 8 horas. Puedes hacer muy pocos intentos porque las horas de desarrollo se disparan, así que poder importar sólo cachos es muy pero que muy útil.
Aquí tenéis el script, espero que os sea útil:
DB_USER="usuario"
DB_NAME="mi_base_de_datos"
DB_PWD="pass"
echo $DB_USER $DB_PWD $DB_NAME
mysql -u$DB_USER -p$DB_PWD $DB_NAME -e "show tables" | while read table; do
echo Exporting table $table to file $table.sql
mysqldump -u$DB_USER -p$DB_PWD $DB_NAME $table > $table.sql
done
Otro día os cuento más cosas 🙂