Update error: _mysql_exceptions.ProgrammingError: (1146, "Table '1bd3e0294da19198.tabPatient' doesn't exist")

a little frustrating that every time I’ve left my production environment as is, and come back to do an update, I get errors. Searching for solutions always get responses as though everyone is a developer as opposed to a user. This makes me want to look for a different solution.

Anyways. I get this error trying to do an update:

~/frappe-bench$ bench update --reset
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
Requirement already satisfied: olefile in ./env/lib/python2.7/site-packages (from Pillow)
INFO:bench.app:pulling frappe
INFO:bench.utils:git fetch --all
Fetching upstream
INFO:bench.utils:git reset --hard upstream/master
HEAD is now at d54b218 Merge branch ‘hotfix’
INFO:bench.utils:find . -name “.pyc" -delete
INFO:bench.app:pulling erpnext
INFO:bench.utils:git fetch --all
Fetching upstream
INFO:bench.utils:git reset --hard upstream/master
HEAD is now at 7b83380 Merge branch ‘hotfix’
INFO:bench.utils:find . -name "
.pyc” -delete
INFO:bench.app:pulling eden_sales
INFO:bench.utils:git fetch --all
Fetching upstream
INFO:bench.utils:git reset --hard upstream/master
HEAD is now at ed53326 fix currency and delivered_by_supplier
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/eden_sales/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
Updating node libraries…
INFO:bench.utils:npm install

chromedriver@2.33.2 install /home/frappe/frappe-bench/node_modules/chromedriver
node install.js

Downloading https://chromedriver.storage.googleapis.com/2.33/chromedriver_linux64.zip
Saving to /tmp/chromedriver/chromedriver_linux64.zip
Received 781K…
Received 1568K…
Received 2352K…
Received 3136K…
Received 3920K…
Received 3995K total.
Extracting zip contents
Copying to target path /home/frappe/frappe-bench/node_modules/chromedriver/lib/chromedriver
Fixing file permissions
Done. ChromeDriver binary available at /home/frappe/frappe-bench/node_modules/chromedriver/lib/chromedriver/chromedriver

  • ms@0.7.1 node_modules/extract-zip/node_modules/ms
    frappe@ /home/frappe/frappe-bench
    ├─┬ babel-core@6.26.0
    │ ├── babel-code-frame@6.26.0
    │ ├─┬ babel-generator@6.26.0
    │ │ ├─┬ babel-runtime@6.26.0
    │ │ │ └── regenerator-runtime@0.11.0
    │ │ └── babel-types@6.26.0
    │ ├─┬ babel-register@6.26.0
    │ │ ├─┬ babel-runtime@6.26.0
    │ │ │ └── regenerator-runtime@0.11.0
    │ │ ├── core-js@2.5.1
    │ │ └── source-map-support@0.4.18
    │ ├─┬ babel-runtime@6.26.0
    │ │ └── regenerator-runtime@0.11.0
    │ ├── babel-template@6.26.0
    │ ├── babel-traverse@6.26.0
    │ ├── babel-types@6.26.0
    │ ├── babylon@6.18.0
    │ └── convert-source-map@1.5.1
    ├─┬ babel-preset-env@1.6.1
    │ ├─┬ browserslist@2.9.1
    │ │ ├── caniuse-lite@1.0.30000772
    │ │ └── electron-to-chromium@1.3.27
    │ └── semver@5.4.1
    ├─┬ babel-preset-minify@0.2.0
    │ ├─┬ babel-plugin-minify-builtins@0.2.0
    │ │ └── babel-helper-evaluate-path@0.2.0
    │ ├── babel-plugin-minify-constant-folding@0.2.0
    │ ├─┬ babel-plugin-minify-dead-code-elimination@0.2.0
    │ │ ├── babel-helper-mark-eval-scopes@0.2.0
    │ │ └── babel-helper-remove-or-void@0.2.0
    │ ├─┬ babel-plugin-minify-flip-comparisons@0.2.0
    │ │ └── babel-helper-is-void-0@0.2.0
    │ ├─┬ babel-plugin-minify-guarded-expressions@0.2.0
    │ │ └── babel-helper-flip-expressions@0.2.0
    │ ├── babel-plugin-minify-infinity@0.2.0
    │ ├── babel-plugin-minify-mangle-names@0.2.0
    │ ├── babel-plugin-minify-numeric-literals@0.2.0
    │ ├── babel-plugin-minify-replace@0.2.0
    │ ├─┬ babel-plugin-minify-simplify@0.2.0
    │ │ └── babel-helper-to-multiple-sequence-expressions@0.2.0
    │ ├── babel-plugin-minify-type-constructors@0.2.0
    │ ├── babel-plugin-transform-inline-consecutive-adds@0.2.0
    │ ├── babel-plugin-transform-member-expression-literals@6.8.5
    │ ├── babel-plugin-transform-merge-sibling-variables@6.8.6
    │ ├── babel-plugin-transform-minify-booleans@6.8.3
    │ ├── babel-plugin-transform-property-literals@6.8.5
    │ ├── babel-plugin-transform-regexp-constructors@0.2.0
    │ ├── babel-plugin-transform-remove-console@6.8.5
    │ ├── babel-plugin-transform-remove-debugger@6.8.5
    │ ├── babel-plugin-transform-remove-undefined@0.2.0
    │ ├── babel-plugin-transform-simplify-comparison-operators@6.8.5
    │ └── babel-plugin-transform-undefined-to-void@6.8.3
    ├─┬ chromedriver@2.33.2
    │ ├─┬ del@3.0.0
    │ │ ├─┬ globby@6.1.0
    │ │ │ ├─┬ array-union@1.0.2
    │ │ │ │ └── array-uniq@1.0.3
    │ │ │ ├── pify@2.3.0
    │ │ │ └─┬ pinkie-promise@2.0.1
    │ │ │ └── pinkie@2.0.4
    │ │ ├── is-path-cwd@1.0.0
    │ │ ├─┬ is-path-in-cwd@1.0.0
    │ │ │ └─┬ is-path-inside@1.0.0
    │ │ │ └── path-is-inside@1.0.2
    │ │ ├── p-map@1.2.0
    │ │ ├── pify@3.0.0
    │ │ └── rimraf@2.6.2
    │ ├─┬ extract-zip@1.6.6
    │ │ └── debug@2.6.9
    │ └─┬ request@2.83.0
    │ ├── aws-sign2@0.7.0
    │ ├── form-data@2.3.1
    │ ├─┬ har-validator@5.0.3
    │ │ ├─┬ ajv@5.5.0
    │ │ │ ├── fast-deep-equal@1.0.0
    │ │ │ ├── fast-json-stable-stringify@2.0.0
    │ │ │ └── json-schema-traverse@0.3.1
    │ │ └── har-schema@2.0.0
    │ ├─┬ hawk@6.0.2
    │ │ ├── boom@4.3.1
    │ │ ├─┬ cryptiles@3.1.2
    │ │ │ └── boom@5.2.0
    │ │ ├── hoek@4.2.0
    │ │ └── sntp@2.1.0
    │ ├─┬ http-signature@1.2.0
    │ │ └── assert-plus@1.0.0
    │ ├─┬ mime-types@2.1.17
    │ │ └── mime-db@1.30.0
    │ ├── performance-now@2.1.0
    │ ├── qs@6.5.1
    │ └── tough-cookie@2.3.3
    └─┬ touch@3.1.0
    └─┬ nopt@1.0.10
    └── abbrev@1.1.1

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“x64”})
npm WARN frappe@ No description
Backing up sites…
Patching sites…
Migrating site1.local
Executing frappe.patches.v8_0.drop_in_dialog #2017-09-22 in site1.local (1bd3e0294da19198)
Success
Executing execute:frappe.reload_doc(‘core’, ‘doctype’, ‘doctype’, force=True) #2017-09-22 in site1.local (1bd3e0294da19198)
Success
Executing execute:frappe.reload_doc(‘core’, ‘doctype’, ‘module_def’) #2017-09-22 in site1.local (1bd3e0294da19198)
Success
Executing execute:frappe.reload_doc(‘core’, ‘doctype’, ‘domain_settings’) in site1.local (1bd3e0294da19198)
Success
Executing frappe.patches.v8_5.delete_email_group_member_with_invalid_emails in site1.local (1bd3e0294da19198)
Success
Executing frappe.patches.v8_x.update_user_permission in site1.local (1bd3e0294da19198)
Success
Executing frappe.patches.v8_5.patch_event_colors in site1.local (1bd3e0294da19198)
Success
Executing frappe.patches.v8_10.delete_static_web_page_from_global_search in site1.local (1bd3e0294da19198)
Success
Executing frappe.patches.v8_x.add_bgn_xaf_xof_currencies in site1.local (1bd3e0294da19198)
Updating country info : [========================================]
Success
Executing frappe.patches.v9_1.add_sms_sender_name_as_parameters in site1.local (1bd3e0294da19198)
Success
Executing frappe.patches.v9_1.resave_domain_settings in site1.local (1bd3e0294da19198)
Success
Executing frappe.patches.v9_1.revert_domain_settings in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.remove_subscription_module in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_7.make_subscription_from_recurring_data in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_3.update_company_total_sales #2017-08-16 in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_4.make_scorecard_records in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_5.remove_quotations_route_in_sidebar in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_5.update_existing_data_in_project_type in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_5.set_default_mode_of_payment in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_6.set_write_permission_for_quotation_for_sales_manager in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_5.remove_project_type_property_setter in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_7.add_more_gst_fields #21-09-2017 in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_7.fix_purchase_receipt_status in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_6.rename_bom_update_tool in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_7.set_offline_in_pos_settings #11-09-17 in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_9.add_setup_progress_actions #08-09-2017 #26-09-2017 in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_9.rename_company_sales_target_field in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_8.set_bom_rate_as_per_uom in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_8.add_new_fields_in_accounts_settings in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_9.set_print_zero_amount_taxes in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_9.set_default_customer_group in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_9.remove_employee_from_salary_structure_parent in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_9.delete_gst_doctypes_for_outside_india_accounts in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_9.set_default_fields_in_variant_settings in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v8_9.update_billing_gstin_for_indian_account in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.set_schedule_date_for_material_request_and_purchase_order in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.student_admission_childtable_migrate in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.fix_subscription_next_date #2017-10-23 in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.add_healthcare_domain in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.set_variant_item_description in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.set_uoms_in_variant_field in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.copy_old_fees_field_data in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.set_pos_profile_name in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.remove_non_existing_warehouse_from_stock_settings in site1.local (1bd3e0294da19198)
Success
Executing execute:frappe.delete_doc_if_exists(“DocType”, “Program Fee”) in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_0.update_employee_loan_details in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_2.delete_healthcare_domain_default_items in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_2.rename_translated_domains_in_en in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_2.repost_reserved_qty_for_production in site1.local (1bd3e0294da19198)
Success
Executing erpnext.patches.v9_2.remove_company_from_patient in site1.local (1bd3e0294da19198)
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 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 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 217, 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/v9_2/remove_company_from_patient.py”, line 4, in execute
if ‘company’ in frappe.db.get_table_columns(“Patient”):
File “/home/frappe/frappe-bench/apps/frappe/frappe/database.py”, line 823, in get_table_columns
return self.get_db_table_columns(‘tab’ + doctype)
File “/home/frappe/frappe-bench/apps/frappe/frappe/database.py”, line 819, in get_db_table_columns
return [r[0] for r in self.sql(“DESC %s” % table)]
File “/home/frappe/frappe-bench/apps/frappe/frappe/database.py”, line 163, in sql
self._cursor.execute(query)
File “/home/frappe/frappe-bench/env/src/mysqlclient/MySQLdb/cursors.py”, line 250, in execute
self.errorhandler(self, exc, value)
File “/home/frappe/frappe-bench/env/src/mysqlclient/MySQLdb/connections.py”, line 50, in defaulterrorhandler
raise errorvalue
_mysql_exceptions.ProgrammingError: (1146, “Table ‘1bd3e0294da19198.tabPatient’ doesn’t exist”)

and now my system is down. :frowning:

Updating
Your system is being updated. Please refresh again after a few moments

I did some search and it has to do with the HealthCare module which I am not using.

Give this a try, by dropping the database which is causing the error, then do a bench migrate, maybe that should solve the issue.

I tried. Although I didn’t realize what this would do and it deleted 403 records. I’m unsure about that. But now I get this error:

~/frappe-bench$ bench update --reset
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
Requirement already satisfied: olefile in ./env/lib/python2.7/site-packages (from Pillow)
INFO:bench.app:pulling frappe
INFO:bench.utils:git fetch --all
Fetching upstream
INFO:bench.utils:git reset --hard upstream/master
HEAD is now at d54b218 Merge branch ‘hotfix’
INFO:bench.utils:find . -name “.pyc" -delete
INFO:bench.app:pulling erpnext
INFO:bench.utils:git fetch --all
Fetching upstream
INFO:bench.utils:git reset --hard upstream/master
HEAD is now at 7b83380 Merge branch ‘hotfix’
INFO:bench.utils:find . -name "
.pyc” -delete
INFO:bench.app:pulling eden_sales
INFO:bench.utils:git fetch --all
Fetching upstream
INFO:bench.utils:git reset --hard upstream/master
HEAD is now at ed53326 fix currency and delivered_by_supplier
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/eden_sales/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
Updating node libraries…
INFO:bench.utils:npm install
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“x64”})
npm WARN frappe@ No description
Backing up sites…
Patching sites…
Migrating site1.local
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 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 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 217, 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 24, in run_all
executed = [p[0] for p in frappe.db.sql(“”“select patch from tabPatch Log”“”)]
File “/home/frappe/frappe-bench/apps/frappe/frappe/database.py”, line 121, in sql
self.connect()
File “/home/frappe/frappe-bench/apps/frappe/frappe/database.py”, line 67, in connect
use_unicode=True, charset=‘utf8mb4’)
File “/home/frappe/frappe-bench/env/src/mysqlclient/MySQLdb/init.py”, line 86, in Connect
return Connection(*args, **kwargs)
File “/home/frappe/frappe-bench/env/src/mysqlclient/MySQLdb/connections.py”, line 204, in init
super(Connection, self).init(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1045, “Access denied for user ‘1bd3e0294da19198’@‘localhost’ (using password: YES)”)

Try this, this should solve it.

I just tried and got the same error: _mysql_exceptions.OperationalError: (1045, “Access denied for user ‘1bd3e0294da19198’@‘localhost’ (using password: YES)”)

Remember: I was told to drop database and user 1bd3e0294da19198

MY PRODUCTION UNIT IS DOWN

Hi Nathan, it is frustrating when your production system is down.

What kind of back up do you have and how old is you back up?

Instead of trying to fix it, start with your back up again and get your production system to work. Then you can worry about the upgrade.

Do you have an image of the last back up? Or just the DB?

HI @Not_a_countant, the developers did a hotfix. I did have a db backup thankfully. This experience makes me think about jumping ship unfortunately. :frowning:

https://discuss.frappe.io/t/mysql-exceptions-programmingerror-1146-table-1bd3e0294da19198-tabpatient-doesnt-exist/31123/6?u=iteerstech

The above solved my problem

I am sorry you have doubts. ERPNext is one of the best ERP out there for small business. From a techy point of view/ there is a learning curve which is steep but the community such as this and the tools such as the bench make it worthwhile & rewarding.

If you believe everything should work without a problem for a beginner, you might be in for a shock (and a reality check). There is no system that works without glitches or without issues. Goes without saying this is a complex system with lots of beautiful features.

If you have < 50 users, maybe you should chose a service provider to give you a hosted solution. PM if you need a managed service. There is no point sweating the small stuff and focus on your business :slight_smile: