Я использую простые командные файлы, экспортировать/импортировать любые изменения в/из БД. Так же была создана дополнительная папка _db со следующими файлами:
import.bat:
if exist c:\mysql\bin\mysql.exe goto work1
exit
:work1
C:\mysql\bin\mysql.exe -u root --default-character-set=utf8<C:\project\_db\dbName_dc.sql
C:\mysql\bin\mysql.exe -u root -D dbName --default-character-set=utf8<C:\project\_db\dbName.sql
pause
exit
export.bat
if exist c:\mysql\bin\mysql.exe goto work1
exit
:work1
C:\mysql\bin\mysqldump.exe -u root --default-character-set=utf8 dbName>C:\project\_db\dbName.sql
C:\mysql\bin\mysqldump.exe -u root -d --default-character-set=utf8 dbName>C:\project\_db\dbName_struct.sql
pause
exit
dbName_dc.sql
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
DROP DATABASE IF EXISTS `dbName`;
CREATE DATABASE `dbName`;
/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;
Это не проблема пишите похожие файлы для unix-подобных систем.
Что вы подразумеваете под «mysql версией»? – ryanprayogo
Что вы хотите поставить под контроль версий? Данные или [DDL] (http://en.wikipedia.org/wiki/Data_Definition_Language)? В первом случае существует множество решений для резервного копирования данных, которые будут намного эффективнее, чем использование SVN. В более позднем случае просто создайте периодически DDL и поставьте его под контроль версий. –