Коллеги! Прошу прощения, но это уже не в какие ворота не лезет! Писать готовую утилиту за спасибо никто не будет. Ссылки даны, читайте, разбирайтесь, если что-то непонятно - спрашивайте.
serega2010, не нужно описывать задачу в сто пятый раз! Принимаются вопросы типа "я написал такой вот код:
валится с такой-то ошибкой, отчего это может быть". Задача выеденного яйца не стоит, просто читайте. Вам все материалы уже дали!
p.s. Я бы воспользовался клиентом миграции, если честно. Мануалы и веб касты как он работает в интернете найти совершенно не проблема! Другой вопрос поддерживает ли он N:N?.. Сейчас нет времени разбираться - изучите вопрос сами и если будет не сложно отпишитесь на форуме.