brotherton-erpnext/erpnext/patches/jan_mar_2012/remove_archive.py

25 lines
633 B
Python
Raw Normal View History

2012-02-21 08:42:13 +00:00
# TODO take backup before running this patch
def execute():
"""
* Restore archived data from arc tables
* Drop arc tables
"""
import webnotes
from webnotes.utils import archive
arc_tables = webnotes.conn.sql('show tables like "arc%"')
try:
2012-02-21 11:57:24 +00:00
webnotes.conn.auto_commit_on_excess = 1
2012-02-21 08:42:13 +00:00
for tab in arc_tables:
tab = tab[0]
dt = tab[3:]
res = webnotes.conn.sql("SELECT name FROM `%s`" % tab)
for dn in res:
archive.archive_doc(dt, dn[0], restore=1)
except Exception, e:
raise e
else:
webnotes.conn.commit()
for tab in arc_tables:
webnotes.conn.sql("DROP TABLE `%s`" % tab[0])
webnotes.conn.begin()