2012-02-21 16:44:31 +05:30

29 lines
692 B
Python

# 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:
count = 0
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)
count++
if not count%100:
webnotes.conn.commit()
webnotes.conn.begin()
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()