Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Simple script to move all tables from one database to another. Please don't use this in production as it could fail horribly. Also, RENAME table doesn't work on views, so they won't be migrated.
#!/bin/sh
OLD_DB=$1
NEW_DB=$2
TABLES=`echo "SHOW TABLES IN $1;" | mysql -NB`
IFS="
"
for TABLE in $TABLES; do
$(echo "RENAME TABLE \`$1\`.\`$TABLE\` TO \`$2\`.\`$TABLE\`;" | mysql)
done
@mceachen

This comment has been minimized.

Copy link

commented Apr 2, 2014

Depending on your database engine, foreign keys will point to the OLD_DB, even after the RENAME TABLE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.