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

29 lines
695 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:14:31 +00:00
count = 0
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)
2012-02-21 11:16:57 +00:00
count += 1
2012-02-21 11:14:31 +00:00
if not count%100:
webnotes.conn.commit()
webnotes.conn.begin()
2012-02-21 08:42:13 +00:00
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()