Switch to master error[SOLVED]

Tried to change develop branch and switch to master with bench switch-to-master
after running bench update --patch got the following error.
Is there a solution or should i switch back to develop.

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/idefix/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
    main()
  File "/home/idefix/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
    click.Group(commands=commands)(prog_name='bench')
  File "/home/idefix/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/home/idefix/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/home/idefix/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/idefix/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/idefix/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/idefix/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/home/idefix/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/idefix/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 24, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/idefix/frappe-bench/apps/frappe/frappe/commands/site.py", line 209, in migrate
    migrate(context.verbose, rebuild_website=rebuild_website)
  File "/home/idefix/frappe-bench/apps/frappe/frappe/migrate.py", line 32, in migrate
    frappe.model.sync.sync_all(verbose=verbose)
  File "/home/idefix/frappe-bench/apps/frappe/frappe/model/sync.py", line 19, in sync_all
    sync_for(app, force, verbose=verbose, reset_permissions=reset_permissions)
  File "/home/idefix/frappe-bench/apps/frappe/frappe/model/sync.py", line 44, in sync_for
    import_file_by_path(doc_path, force=force, reset_permissions=reset_permissions)
  File "/home/idefix/frappe-bench/apps/frappe/frappe/modules/import_file.py", line 57, in import_file_by_path
    reset_permissions=reset_permissions)
  File "/home/idefix/frappe-bench/apps/frappe/frappe/modules/import_file.py", line 125, in import_doc
    doc.insert()
  File "/home/idefix/frappe-bench/apps/frappe/frappe/model/document.py", line 200, in insert
    self.db_insert()
  File "/home/idefix/frappe-bench/apps/frappe/frappe/model/base_document.py", line 296, in db_insert
    ), d.values())
  File "/home/idefix/frappe-bench/apps/frappe/frappe/database.py", line 137, in sql
    self._cursor.execute(query, values)
  File "/home/idefix/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/home/idefix/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1048, "Column 'track_changes' cannot be null")

Did your bench update run successfully?

No it didn’t

after switching i first ran bench update --patch
then i tried bench update

same error both times

I had the same issue a couple of days ago. I ran this commands and helped a lot.

cd ~/frappe-bench
bench --site sitename mysql
ALTER TABLE tabDocType MODIFY COLUMN track_changes int(1) NULL;

And after that you can try the bench update --patch command. So, when you finish you can leave as it was before with this command in the MySQL console.

ALTER TABLE tabDocType MODIFY COLUMN track_changes int(1) NOT NULL DEFAULT 1;

Good luck…

1 Like

Thank you!
It worked flawlessly :+1: