Erpnext: Error on bench update pymysql.err.IntegrityError: (1048, u"Column 'translatable' cannot be null")

Created on 20 Feb 2018  路  15Comments  路  Source: frappe/erpnext

Hello,

Executing bench update --reset gives this error on develop branch

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/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 94, in
main()
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 716, in __call__
return self.main(args, *kwargs)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/home/frappe/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/frappe/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/frappe/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/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(
args, *kwargs)
File "/home/frappe/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/frappe/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 25, in _func
ret = f(frappe._dict(ctx.obj), args, *kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 222, in migrate
migrate(context.verbose, rebuild_website=rebuild_website)
File "/home/frappe/frappe-bench/apps/frappe/frappe/migrate.py", line 41, in migrate
frappe.model.sync.sync_all(verbose=verbose)
File "/home/frappe/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/frappe/frappe-bench/apps/frappe/frappe/model/sync.py", line 45, in sync_for
reset_permissions=reset_permissions, for_sync=True)
File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/import_file.py", line 58, in import_file_by_path
ignore_version=ignore_version, reset_permissions=reset_permissions)
File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/import_file.py", line 132, in import_doc
doc.insert()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 237, in insert
d.db_insert()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py", line 303, in db_insert
), list(d.values()))
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 173, in sql
self._cursor.execute(query, values)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/cursors.py", line 166, in execute
result = self._query(query)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/connections.py", line 856, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/connections.py", line 1057, in _read_query_result
result.read()
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/connections.py", line 1340, in read
first_packet = self.connection._read_packet()
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/connections.py", line 1014, in _read_packet
packet.check_error()
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/connections.py", line 393, in check_error
err.raise_mysql_exception(self._data)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/err.py", line 107, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.IntegrityError: (1048, u"Column 'translatable' cannot be null")

bug

Most helpful comment

Again... Why is Closed?

...
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/err.py", line 107, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.IntegrityError: (1048, u"Column 'translatable' cannot be null")

All 15 comments

See frappe/frappe#5041

Hello @tundebabzy

Is this available on developer branch? I ran bench update --reset and the error persists

run bench migrate

ran bench migrate but got the same error

This might be a stupid question but have you pulled the latest from develop? I experienced the error but it has stopped now

Yes, should I do a git pull on a specific folder?

Encountered this error while migrating on master branch and migrate on develop worked smoothly with this new changes without any error. @tundebabzy Need the same pull on hotfix as well?

the field translatable comes with frappe/frappe#5002. I'm not sure what impact there will be if we cherry-pick the pull to hotfix pending when the full PR will be added

I really don't think this should be cherry-picked into hotfix yet. For now, I think you should just manually drop the translatable column for tabDocField. By the time the feature reaches master, things will be back to normal. Closing for now

I cannot get bench to start on either master or develop branches without this fix. bench update --patch and bench migrate fail with this same error.

@agritheory The error is still present on developer branch, but dropping the translatable column for tabDocField worked for me, or you can just allow null values on the column.

facing similar error

Error still in master branch, develop is OK.
(VM virtual image)

Again... Why is Closed?

...
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/pymysql/err.py", line 107, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.IntegrityError: (1048, u"Column 'translatable' cannot be null")

Yeah, it's back for me too on a fresh install. I think it may have something to do with the date a custom app or docfield was created and if it had the "translatable" option at that point. Regardless it's maddening.

Was this page helpful?
0 / 5 - 0 ratings