Migration traceback from 7.x to 8

FYI:

Executing frappe.patches.v8_0.set_currency_field_precision # 2017-05-09 in erp.xyz.foo
Traceback (most recent call last):
File “/usr/lib/python2.7/runpy.py”, line 174, 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 79, in
main()
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 16, 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 722, in call
return self.main(*args, **kwargs)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1066, 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 1066, 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 895, 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 535, 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 24, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py”, line 214, in migrate
migrate(context.verbose, rebuild_website=rebuild_website)
File “/home/frappe/frappe-bench/apps/frappe/frappe/migrate.py”, line 31, in migrate
frappe.modules.patch_handler.run_all()
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 29, in run_all
if not run_single(patchmodule = patch):
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 63, in run_single
return execute_patch(patchmodule, method, methodargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 83, in execute_patch
frappe.get_attr(patchmodule.split()[0] + “.execute”)()
File “/home/frappe/frappe-bench/apps/frappe/frappe/patches/v8_0/set_currency_field_precision.py”, line 22, in execute
ss.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 230, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 263, in _save
self.run_before_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 771, in run_before_save_methods
self.run_method(“validate”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 666, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 891, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 874, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 660, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/system_settings/system_settings.py”, line 16, in validate
minimum_password_score = cint(self.minimum_password_score) or 0
AttributeError: ‘SystemSettings’ object has no attribute ‘minimum_password_score’

Source of this issue woulf be the following PR

https://github.com/frappe/frappe/pull/3194

@felix, @raveslave,

this issue has been fixed Please try to run bench update again.

curious, is there a release-process where migrations are tested before they get deployed?

@makarand_b

I just had the same issue. I ran update again and now get this error:

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 79, in <module>
    main()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, 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 24, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 214, in migrate
    migrate(context.verbose, rebuild_website=rebuild_website)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/migrate.py", line 31, in migrate
    frappe.modules.patch_handler.run_all()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 29, in run_all
    if not run_single(patchmodule = patch):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 63, in run_single
    return execute_patch(patchmodule, method, methodargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 83, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + ".execute")()
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/patches/v7_2/mark_students_active.py", line 6, in execute
    frappe.db.sql("update `tabStudent Batch Student` set active=1")
  File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 149, in sql
    self._cursor.execute(query)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1054, "Unknown column 'active' in 'field list'") 

Thanks in advance

@DrTrills,

This is fixed on develop branch, please run bench update and check

While for me is on the Student as you can see below. I have done bench update many times and still

Executing erpnext.patches.v8_0.merge_student_batch_and_student_group in demo.angolaerp (4a8671fcb4e4542a)
Traceback (most recent call last):
File “/usr/lib/python2.7/runpy.py”, line 174, 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/helio/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 79, in
main()
File “/home/helio/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 16, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/helio/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 722, in call
return self.main(*args, **kwargs)
File “/home/helio/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/home/helio/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/helio/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/helio/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/helio/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/home/helio/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/helio/frappe-bench/apps/frappe/frappe/commands/init.py”, line 24, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File “/home/helio/frappe-bench/apps/frappe/frappe/commands/site.py”, line 214, in migrate
migrate(context.verbose, rebuild_website=rebuild_website)
File “/home/helio/frappe-bench/apps/frappe/frappe/migrate.py”, line 31, in migrate
frappe.modules.patch_handler.run_all()
File “/home/helio/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 29, in run_all
if not run_single(patchmodule = patch):
File “/home/helio/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 63, in run_single
return execute_patch(patchmodule, method, methodargs)
File “/home/helio/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 83, in execute_patch
frappe.get_attr(patchmodule.split()[0] + “.execute”)()
File “/home/helio/frappe-bench/apps/erpnext/erpnext/patches/v8_0/merge_student_batch_and_student_group.py”, line 28, in execute
where parent=%s’‘’, (doc.name), as_dict=1)
File “/home/helio/frappe-bench/apps/frappe/frappe/database.py”, line 138, in sql
self._cursor.execute(query, values)
File “/home/helio/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py”, line 205, in execute
self.errorhandler(self, exc, value)
File “/home/helio/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/connections.py”, line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1054, “Unknown column ‘active’ in ‘field list’”)

Hi @makarand_b Thanks for your reply.

I just did an update again and same issue:

$ bench update
INFO:bench.utils:updating bench
INFO:bench.utils:git pull
Already up-to-date.
INFO:bench.utils:./env/bin/pip install Pillow
Requirement already satisfied: Pillow in ./env/lib/python2.7/site-packages
INFO:bench.app:pulling frappe
INFO:bench.utils:git pull  upstream master
From https://github.com/frappe/frappe
 * branch            master     -> FETCH_HEAD
Already up-to-date.
INFO:bench.utils:find . -name "*.pyc" -delete
INFO:bench.app:pulling erpnext
INFO:bench.utils:git pull  upstream master
From https://github.com/frappe/erpnext
 * branch            master     -> FETCH_HEAD
Already up-to-date.
INFO:bench.utils:find . -name "*.pyc" -delete
Updating Python libraries...
INFO:bench.utils:./env/bin/pip install --upgrade pip
Requirement already up-to-date: pip in ./env/lib/python2.7/site-packages
INFO:bench.utils:./env/bin/pip install -q -r /home/frappe/.bench/requirements.txt
INFO:bench.utils:./env/bin/pip install -q -r ./apps/erpnext/requirements.txt
INFO:bench.utils:./env/bin/pip install -q -r ./apps/frappe/requirements.txt
Backing up sites...
Patching sites...
Migrating site1.local
Executing erpnext.patches.v7_2.mark_students_active in site1.local (1bd3e0294da19198)
/home/frappe/frappe-bench/apps/erpnext/erpnext/schools/doctype/student_batch_student/student_batch_student.json missing
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
Already up-to-date.
  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 79, in <module>
    main()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, 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 24, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 214, in migrate
    migrate(context.verbose, rebuild_website=rebuild_website)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/migrate.py", line 31, in migrate
    frappe.modules.patch_handler.run_all()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 29, in run_all
    if not run_single(patchmodule = patch):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 63, in run_single
    return execute_patch(patchmodule, method, methodargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 83, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + ".execute")()
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/patches/v7_2/mark_students_active.py", line 6, in execute
    frappe.db.sql("update `tabStudent Batch Student` set active=1")
  File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 149, in sql
    self._cursor.execute(query)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaul
terrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1054, "Unknown column 'active' in 'field list'")

@DrTrills,

issue is already fixed on develop branch please check the following link

https://github.com/frappe/erpnext/issues/8822

if you are on master branch please wait until it is merged.

Thanks,
Makarand

Hi @makarand_b Thanks again for your support. I see the develop branch has merged today so I did an update and got a bit further but ultimately got this error:

$ sudo bench update
INFO:bench.utils:updating bench
INFO:bench.utils:git pull
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 10 (delta 8), reused 10 (delta 8), pack-reused 0
Unpacking objects: 100% (10/10), done.
From https://github.com/frappe/bench
   2f03e9f..a39fb1e  master     -> origin/master
Updating 2f03e9f..a39fb1e
Fast-forward
 bench/config/templates/nginx.conf | 2 +-
 bench/utils.py                    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
remote: Counting objects: 166, done.
remote: Compressing objects: 100% (64/64), done.
remote: Total 166 (delta 140), reused 127 (delta 102), pack-reused 0
Receiving objects: 100% (166/166), 21.81 KiB | 0 bytes/s, done.
Resolving deltas: 100% (140/140), completed with 65 local objects.
From https://github.com/frappe/frappe
   2b8a12d..20519ff  master     -> upstream/master
 * [new tag]         v8.0.44    -> v8.0.44
INFO:bench.utils:./env/bin/pip install Pillow
Requirement already satisfied: Pillow in ./env/lib/python2.7/site-packages
INFO:bench.app:pulling frappe
INFO:bench.utils:git pull  upstream master
From https://github.com/frappe/frappe
 * branch            master     -> FETCH_HEAD
Updating 2b8a12d..20519ff
Fast-forward
 .travis.yml                                              |   1 +
 frappe/__init__.py                                       |   2 +-
 frappe/config/integrations.py                            |   5 ++
 frappe/core/doctype/system_settings/system_settings.json |   2 +-
 frappe/custom/doctype/custom_field/custom_field.js       |   4 +-
 frappe/desk/doctype/kanban_board/kanban_board.py         |  13 ++--
 frappe/desk/search.py                                    |  19 +++--
 frappe/email/doctype/email_alert/email_alert.py          |   9 ++-
 frappe/email/doctype/email_alert/test_email_alert.py     |  30 +++++++
 frappe/exceptions.py                                     |   1 +
 frappe/model/mapper.py                                   |  23 ++++--
 frappe/model/naming.py                                   |  10 ++-
 frappe/patches.txt                                       |   2 +-
 frappe/patches/v8_0/update_records_in_global_search.py   |   2 +
 frappe/permissions.py                                    |   3 +-
 frappe/public/build.json                                 |   2 +
 frappe/public/css/desk.css                               |   7 ++
 frappe/public/js/frappe/form/footer/timeline.js          |   5 +-
 frappe/public/js/frappe/form/multi_select_dialog.js      | 212 ++++++++++++++++++++++++++++++++++++++++++++++++++
 frappe/public/js/frappe/form/quick_entry.js              |   2 +-
 frappe/public/js/frappe/list/list_renderer.js            |   2 +-
 frappe/public/js/frappe/model/model.js                   |   5 ++
 frappe/public/js/frappe/ui/field_group.js                |   1 -
 frappe/public/js/frappe/ui/keyboard.js                   |  41 +++++-----
 frappe/public/js/frappe/ui/sort_selector.js              |  43 ++++++----
 frappe/public/js/frappe/ui/toolbar/search_utils.js       |   6 +-
 frappe/public/js/frappe/views/kanban/kanban_board.js     |   9 +++
 frappe/public/js/frappe/views/reports/reportview.js      |  11 ++-
 frappe/public/less/desk.less                             |  13 +++-
 frappe/utils/global_search.py                            |   2 +-
 frappe/utils/install.py                                  |   2 +-
 frappe/utils/xlsxutils.py                                |  31 +++++---
 32 files changed, 435 insertions(+), 85 deletions(-)
 create mode 100644 frappe/public/js/frappe/form/multi_select_dialog.js
INFO:bench.utils:find . -name "*.pyc" -delete
INFO:bench.app:pulling erpnext
INFO:bench.utils:git pull  upstream master
remote: Counting objects: 253, done.
remote: Compressing objects: 100% (92/92), done.
remote: Total 253 (delta 209), reused 205 (delta 161), pack-reused 0
Receiving objects: 100% (253/253), 452.79 KiB | 0 bytes/s, done.
Resolving deltas: 100% (209/209), completed with 114 local objects.
From https://github.com/frappe/erpnext
 * branch            master     -> FETCH_HEAD
   154385d..3bd15fb  master     -> upstream/master
Updating 154385d..3bd15fb
Fast-forward
 erpnext/__init__.py                                                      |   2 +-
 erpnext/accounts/doctype/payment_entry/payment_entry.js                  |   1 +
 erpnext/accounts/doctype/pricing_rule/pricing_rule.py                    |   5 +-
 erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py               |  46 ++++++++++++++
 erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js            |  22 ++++---
 erpnext/accounts/doctype/sales_invoice/sales_invoice.js                  |  22 +++++--
 erpnext/accounts/doctype/sales_invoice/sales_invoice.py                  |   8 ++-
 erpnext/accounts/page/pos/pos.js                                         |  13 +++-
 erpnext/buying/doctype/purchase_order/purchase_order.js                  |  15 +++--
 erpnext/buying/doctype/request_for_quotation/request_for_quotation.js    |  29 +++++----
 erpnext/buying/doctype/supplier_quotation/supplier_quotation.js          |  12 ++--
 erpnext/controllers/status_updater.py                                    |  11 ++--
 erpnext/controllers/taxes_and_totals.py                                  |   2 +
 erpnext/controllers/tests/test_mapper.py                                 |  73 +++++++++++++++++++++++
 .../assets/img/setup/integrations/payment_gateway_account_stripe.png     | Bin 0 -> 196035 bytes
 erpnext/docs/assets/img/setup/integrations/stripe_coa.png                | Bin 0 -> 165075 bytes
 erpnext/docs/assets/img/setup/integrations/stripe_setting.png            | Bin 0 -> 167559 bytes
 erpnext/docs/user/manual/en/setting-up/email/email-account.md            |   4 +-
 .../docs/user/manual/en/setting-up/integrations/stripe-integration.md    |  30 ++++++++++
 erpnext/hr/doctype/vehicle_log/vehicle_log.js                            |   8 +++
 erpnext/hr/doctype/vehicle_log/vehicle_log.json                          |  85 ++++++++------------------
 erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js |   7 ++-
 erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js       |  32 ++++++----
 erpnext/manufacturing/doctype/bom/bom.js                                 |   4 +-
 erpnext/patches.txt                                                      |   4 +-
 erpnext/patches/v7_2/mark_students_active.py                             |   2 -
 .../patches/v8_0/fix_status_for_invoices_with_negative_outstanding.py    |  23 +++++++
 erpnext/patches/v8_0/make_payments_table_blank_for_non_pos_invoice.py    |  15 +++++
 erpnext/projects/doctype/project/project.py                              |  14 ++++-
 erpnext/public/css/erpnext.css                                           |   5 ++
 erpnext/public/js/controllers/taxes_and_totals.js                        |   2 +
 erpnext/public/js/utils.js                                               | 102 +++++++++++++++----------------
 erpnext/public/less/erpnext.less                                         |   4 ++
 erpnext/schools/doctype/program/program.json                             |  11 +++-
 .../doctype/student_group_creation_tool/student_group_creation_tool.js   |  25 +++++---
 .../doctype/student_group_creation_tool/student_group_creation_tool.json |  80 +++++++++++++++++++++++--
 .../doctype/student_group_creation_tool/student_group_creation_tool.py   |  61 +++++++++++++------
 .../student_group_creation_tool_course.json                              | 109 +++++++++++++++++++++++++++++++---
 .../student_batch_wise_attendance/student_batch_wise_attendance.py       |   2 +-
 erpnext/selling/doctype/installation_note/installation_note.js           |  11 +++-
 erpnext/selling/doctype/quotation/quotation.js                           |  19 ++++--
 erpnext/selling/doctype/quotation/quotation.json                         |  88 ++++++++++++++++++++++++++-
 erpnext/selling/doctype/quotation/quotation.py                           |   2 +-
 erpnext/selling/doctype/sales_order/sales_order.js                       |   9 ++-
 erpnext/selling/doctype/sales_order/test_sales_order.py                  |   4 +-
 erpnext/selling/page/sales_funnel/sales_funnel.js                        |   4 ++
 erpnext/setup/doctype/naming_series/naming_series.py                     |  17 +++++-
 erpnext/setup/doctype/territory/territory.json                           |   4 +-
 erpnext/stock/doctype/delivery_note/delivery_note.js                     |   7 ++-
 erpnext/stock/doctype/item/item.js                                       |  15 ++++-
 erpnext/stock/doctype/item/item.json                                     |  68 ++++++++++-----------
 erpnext/stock/doctype/item/item.py                                       |  13 +++-
 erpnext/stock/doctype/material_request/material_request.js               |   7 ++-
 erpnext/stock/doctype/price_list/price_list.js                           |  11 ++--
 erpnext/stock/doctype/purchase_receipt/purchase_receipt.js               |  10 +++-
 erpnext/utilities/__init__.py                                            |   3 +-
 erpnext/utilities/transaction_base.py                                    |   4 ++
 57 files changed, 896 insertions(+), 290 deletions(-)
 create mode 100644 erpnext/controllers/tests/test_mapper.py
 create mode 100644 erpnext/docs/assets/img/setup/integrations/payment_gateway_account_stripe.png
 create mode 100644 erpnext/docs/assets/img/setup/integrations/stripe_coa.png
 create mode 100644 erpnext/docs/assets/img/setup/integrations/stripe_setting.png
 create mode 100644 erpnext/docs/user/manual/en/setting-up/integrations/stripe-integration.md
 create mode 100644 erpnext/patches/v8_0/fix_status_for_invoices_with_negative_outstanding.py
 create mode 100644 erpnext/patches/v8_0/make_payments_table_blank_for_non_pos_invoice.py
INFO:bench.utils:find . -name "*.pyc" -delete
Updating Python libraries...
INFO:bench.utils:./env/bin/pip install --upgrade pip
Requirement already up-to-date: pip in ./env/lib/python2.7/site-packages
INFO:bench.utils:./env/bin/pip install -q -r /home/frappe/.bench/requirements.txt
INFO:bench.utils:./env/bin/pip install -q -r ./apps/erpnext/requirements.txt
INFO:bench.utils:./env/bin/pip install -q -r ./apps/frappe/requirements.txt
Backing up sites...
Patching sites...
Migrating site1.local
Executing frappe.patches.v8_0.update_records_in_global_search #11-05-2017 in site1.local (1bd3e0294da19198)
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 79, in <module>
    main()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, 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 24, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 214, in migrate
    migrate(context.verbose, rebuild_website=rebuild_website)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/migrate.py", line 31, in migrate
    frappe.modules.patch_handler.run_all()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 29, in run_all
    if not run_single(patchmodule = patch):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 63, in run_single
    return execute_patch(patchmodule, method, methodargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 83, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + ".execute")()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/patches/v8_0/update_records_in_global_search.py", line 7, in execute
    rebuild_for_doctype(doctype)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/global_search.py", line 86, in rebuild_for_doctype
    all_children, child_search_fields = get_children_data(doctype, meta)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/global_search.py", line 163, in get_children_data
    child_meta = frappe.get_meta(child.options)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 623, in get_meta
    return frappe.model.meta.get_meta(doctype, cached=cached)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py", line 31, in get_meta
    return frappe.cache().hget("meta", doctype, lambda: Meta(doctype))
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/redis_wrapper.py", line 171, in hget
    value = generator()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py", line 31, in <lambda>
    return frappe.cache().hget("meta", doctype, lambda: Meta(doctype))
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py", line 66, in __init__
    super(Meta, self).__init__("DocType", doctype)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 84, in __init__
    self.load_from_db()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py", line 71, in load_from_db
    super(Meta, self).load_from_db()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 115, in load_from_db
    frappe.throw(_("{0} {1} not found").format(_(self.doctype), self.name), frappe.DoesNotExistError)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 316, in throw
    msgprint(msg, raise_exception=exc, title=title, indicator='red')
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 306, in msgprint
    _raise_exception()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 279, in _raise_exception
    raise raise_exception, encode(msg)
frappe.exceptions.DoesNotExistError: DocType Assessment Plan Criteria not found

The same error DocType Assessment Plan Criteria not found
Has it been fixed ?

I just updated again and now have this error:

Updating Python libraries...
INFO:bench.utils:./env/bin/pip install --upgrade pip
Requirement already up-to-date: pip in ./env/lib/python2.7/site-packages
INFO:bench.utils:./env/bin/pip install -q -r /home/frappe/.bench/requirements.txt
INFO:bench.utils:./env/bin/pip install -q -r ./apps/erpnext/requirements.txt
INFO:bench.utils:./env/bin/pip install -q -r ./apps/frappe/requirements.txt
Backing up sites...
Patching sites...
Migrating site1.local
Executing frappe.patches.v8_0.update_records_in_global_search #11-05-2017 in site1.local (1bd3e0294da19198)
Updating Global Search              : [===                                     ]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 79, in <module>
    main()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, 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 24, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 214, in migrate
    migrate(context.verbose, rebuild_website=rebuild_website)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/migrate.py", line 31, in migrate
    frappe.modules.patch_handler.run_all()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 29, in run_all
    if not run_single(patchmodule = patch):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 63, in run_single
    return execute_patch(patchmodule, method, methodargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 83, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + ".execute")()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/patches/v8_0/update_records_in_global_search.py", line 11, in execute
    rebuild_for_doctype(doctype)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/global_search.py", line 86, in rebuild_for_doctype
    all_children, child_search_fields = get_children_data(doctype, meta)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/global_search.py", line 163, in get_children_data
    child_meta = frappe.get_meta(child.options)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 623, in get_meta
    return frappe.model.meta.get_meta(doctype, cached=cached)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py", line 31, in get_meta
    return frappe.cache().hget("meta", doctype, lambda: Meta(doctype))
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/redis_wrapper.py", line 171, in hget
    value = generator()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py", line 31, in <lambda>
    return frappe.cache().hget("meta", doctype, lambda: Meta(doctype))
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py", line 66, in __init__
    super(Meta, self).__init__("DocType", doctype)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 84, in __init__
    self.load_from_db()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/meta.py", line 71, in load_from_db
    super(Meta, self).load_from_db()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 115, in load_from_db
    frappe.throw(_("{0} {1} not found").format(_(self.doctype), self.name), frappe.DoesNotExistError)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 316, in throw
    msgprint(msg, raise_exception=exc, title=title, indicator='red')
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 306, in msgprint
    _raise_exception()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 279, in _raise_exception
    raise raise_exception, encode(msg)
frappe.exceptions.DoesNotExistError: DocType Assessment Plan Criteria not found

Thank you for your support!

I have upgraded my VM to v8.0.33 and the error still not fixed

“Unknown column ‘active’ in ‘field list’”

So i believe that the error after this one is still also not fixed ?

error DocType Assessment Plan Criteria not found

@Helio_Jesus im still having the same issue- have you found a solution yet?

They have fixed… But it will give you the error anyway, you hehe to insist on the update

Ah weird. I’m now using --force and it’s still not working.

Will investigate more. Thank you!

If related to this error “DocType Assessment Plan Criteria not found” I still have one database worth same error… But for the others it was fixed.

Hmm strange. It seems like theres something going on with the universal search patch that breaks things. May just do a fresh install and migrate data over via export tool.

If anyone has any ideas on how to fix this would gladly listen !