# MySQL Migration from Hawthorn to Ironwood

**URL:** <https://discuss.openedx.org/t/mysql-migration-from-hawthorn-to-ironwood/1088>\
**Category:** Site Operations Help\
**Created:** [December 24, 2019, 9:45am UTC](https://discuss.openedx.org/t/mysql-migration-from-hawthorn-to-ironwood/1088 "2019-12-24T09:45:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![anjali](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/anjali/32/405_2.png) [@anjali](https://discuss.openedx.org/u/anjali)\
**Post date:** [December 24, 2019, 9:45am UTC](https://discuss.openedx.org/t/mysql-migration-from-hawthorn-to-ironwood/1088/1 "2019-12-24T09:45:28Z")

</div>

Hello all,

I am trying to execute database migration from hawthorn.master to ironwood.master, during MySQL migration, getting the error like this:

> Applying content\_type\_gating.0002\_auto\_20181119\_0959…Traceback (most recent call last):  
> File “./manage.py”, line 123, in   
> execute\_from\_command\_line([sys.argv[0]] + django\_args)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/ **init**.py”, line 364, in execute\_from\_command\_line  
> utility.execute()  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/ **init**.py”, line 356, in execute  
> self.fetch\_command(subcommand).run\_from\_argv(self.argv)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py”, line 283, in run\_from\_argv  
> self.execute(\*args, \*\*cmd\_options)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/base.py”, line 330, in execute  
> output = self.handle(\*args, \*\*options)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py”, line 204, in handle  
> fake\_initial=fake\_initial,  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/executor.py”, line 115, in migrate  
> state = self.\_migrate\_all\_forwards(state, plan, full\_plan, fake=fake, fake\_initial=fake\_initial)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/executor.py”, line 145, in \_migrate\_all\_forwards  
> state = self.apply\_migration(state, migration, fake=fake, fake\_initial=fake\_initial)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/executor.py”, line 250, in apply\_migration  
> self.recorder.record\_applied(migration.app\_label, migration.name)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/migrations/recorder.py”, line 73, in record\_applied  
> self.migration\_qs.create(app=app, name=name)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py”, line 394, in create  
> obj.save(force\_insert=True, using=self.db)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/base.py”, line 808, in save  
> force\_update=force\_update, update\_fields=update\_fields)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/base.py”, line 838, in save\_base  
> updated = self.\_save\_table(raw, cls, force\_insert, force\_update, using, update\_fields)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/base.py”, line 924, in \_save\_table  
> result = self.\_do\_insert(cls.\_base\_manager, using, fields, update\_pk, raw)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/base.py”, line 963, in \_do\_insert  
> using=using, raw=raw)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/manager.py”, line 85, in manager\_method  
> return getattr(self.get\_queryset(), name)(\*args, \*\*kwargs)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/query.py”, line 1079, in \_insert  
> return query.get\_compiler(using=using).execute\_sql(return\_id)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py”, line 1112, in execute\_sql  
> cursor.execute(sql, params)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py”, line 64, in execute  
> return self.cursor.execute(sql, params)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/utils.py”, line 94, in **exit**  
> six.reraise(dj\_exc\_type, dj\_exc\_value, traceback)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/utils.py”, line 64, in execute  
> return self.cursor.execute(sql, params)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py”, line 101, in execute  
> return self.cursor.execute(query, args)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/cursors.py”, line 205, in execute  
> self.errorhandler(self, exc, value)  
> File “/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/MySQLdb/connections.py”, line 36, in defaulterrorhandler  
> raise errorclass, errorvalue  
> django.db.utils.IntegrityError: (1062, “Duplicate entry ‘0’ for key ‘PRIMARY’”)

Can anyone help to solve this?

---

<div class="post-metadata">

**Author:** ![mahyard](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/mahyard/32/54_2.png) [@mahyard](https://discuss.openedx.org/u/mahyard)\
**Post date:** [December 24, 2019, 2:44pm UTC](https://discuss.openedx.org/t/mysql-migration-from-hawthorn-to-ironwood/1088/2 "2019-12-24T14:44:51Z")

</div>

Hi Anjali,  
this answer may don’t solve your problem but would be a hint to go further.  
you have a problem with this table: `content_type_gating_contenttypegatingconfig`  
check and see what records are there?  
in my ironwood instance it’s empty. so you have filled it yourself probably via setting configuration in django admin and I don’t have any idea about how it’s broken.  
fix the problem and rerun the migration process.

---

<div class="post-metadata">

**Author:** ![anjali](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/anjali/32/405_2.png) [@anjali](https://discuss.openedx.org/u/anjali)\
**Post date:** [December 26, 2019, 5:28am UTC](https://discuss.openedx.org/t/mysql-migration-from-hawthorn-to-ironwood/1088/3 "2019-12-26T05:28:27Z")

</div>

Hi @mahyard  
I have checked it in mysql but it is empty itself, so I also don’t know why it’s giving me an error like this.

By the way thanks for your reply.
