odoo 清除所有运行数据
测试odoo,如果需要一个干净的db。经常需要清除掉所有业务数据。做如下操作,较为方便
1:建立一个服务器动作,动作的python代码入下。 然后新建一个菜单,菜单动作关联到 这个动作。需要清空db,点击这个菜单就OK啦。
1 to_removes = [ 2 [\'procurement.order\',], 3 [\'purchase.order.line\',], 4 [\'purchase.order\',], 5 6 [\'stock.quant\',], 7 [\'stock.move\',], 8 [\'stock.pack.operation\',], 9 [\'stock.picking\',], 10 [\'stock.inventory.line\',], 11 [\'stock.inventory\',], 12 [\'stock.quant.package\',], 13 [\'stock.quant.move.rel\',], 14 [\'stock.production.lot\',], 15 [\'stock.fixed.putaway.strat\',], 16 [\'mrp.production.workcenter.line\',], 17 [\'mrp.production\',], 18 [\'mrp.production.product.line\',], 19 [\'sale.order.line\',], 20 [\'sale.order\',], 21 [\'pos.order.line\',], 22 [\'pos.order\',], 23 24 [\'account.voucher.line\',], 25 [\'account.voucher\',], 26 [\'account.invoice\',], 27 [\'account.partial.reconcile\',], 28 [\'account.move\',], 29 ] 30 31 def remove_data(cr): 32 try: 33 for line in to_removes : 34 obj_name = line[0] 35 obj = self.pool.get(obj_name) 36 if obj and obj._table_exist: 37 sql = "delete from %s" % obj._table 38 cr.execute( sql) 39 40 41 except Exception, e: 42 raise Warning(e) 43 44 return True 45 46 remove_data(cr,)