|
|
@@ -84,3 +84,43 @@ def delete_fields(args_dict, delete=0): |
|
|
|
", ".join(["DROP COLUMN `%s`" % f for f in fields if f in existing_fields]) |
|
|
|
webnotes.conn.commit() |
|
|
|
webnotes.conn.sql(query) |
|
|
|
|
|
|
|
def rename_field(doctype, old_fieldname, new_fieldname): |
|
|
|
"""This functions assumes that doctype is already synced""" |
|
|
|
|
|
|
|
doctype_list = webnotes.get_doctype(doctype) |
|
|
|
new_field = doctype_list.get_field(new_fieldname) |
|
|
|
if not new_field: |
|
|
|
print "rename_field: " + (new_fieldname) + " not found in " + doctype |
|
|
|
return |
|
|
|
|
|
|
|
if new_field.fieldtype == "Table": |
|
|
|
# change parentfield of table mentioned in options |
|
|
|
webnotes.conn.sql("""update `tab%s` set parentfield=%s |
|
|
|
where parentfield=%s""" % (new_field.options.split("\n")[0], "%s", "%s"), |
|
|
|
(new_fieldname, old_fieldname)) |
|
|
|
elif new_field.fieldtype not in no_value_fields: |
|
|
|
if doctype_list[0].issingle: |
|
|
|
webnotes.conn.sql("""update `tabSingles` set field=%s |
|
|
|
where doctype=%s and field=%s""", |
|
|
|
(new_fieldname, doctype, old_fieldname)) |
|
|
|
else: |
|
|
|
webnotes.conn.sql("""update `tab%s` set `%s`=`%s`""" % \ |
|
|
|
(doctype, new_fieldname, old_fieldname)) |
|
|
|
|
|
|
|
webnotes.conn.sql("""update `tabProperty Setter` set field_name = %s |
|
|
|
where doc_type=%s and field_name=%s""", (new_fieldname, doctype, old_fieldname)) |
|
|
|
|
|
|
|
import json |
|
|
|
user_report_cols = webnotes.conn.sql("""select defkey, defvalue from `tabDefaultValue` where |
|
|
|
defkey like '_list_settings:%'""") |
|
|
|
for key, value in user_report_cols: |
|
|
|
new_columns = [] |
|
|
|
columns_modified = False |
|
|
|
for field, field_doctype in json.loads(value): |
|
|
|
if field == old_fieldname and field_doctype == doctype: |
|
|
|
new_columns.append([field, field_doctype]) |
|
|
|
columns_modified=True |
|
|
|
if columns_modified: |
|
|
|
webnotes.conn.sql("""update `tabDefaultValue` set defvalue=%s |
|
|
|
where defkey=%s""" % ('%s', '%s'), (json.dumps(new_columns), key)) |