def testSMSSync(self): self.deleteAllLogs() self.assertEqual(self.getSMSLogCount(), 0) self.assertEqual(self.getSMSCount(), 0) # Test Create sms = SMS() self.setRandomSMSValues(sms) sms.save() sleep(1) self.assertEqual(self.getSMSLogCount(), 1) self.assertEqual(self.getSMSCount(), 1) smslog = FRISMSLog.get(sms.couch_id) self.checkFieldValues(smslog, sms, SMS._migration_get_fields()) self.assertTrue(FRISMSLog.get_db().get_rev(smslog._id).startswith('2-')) # Test Update self.setRandomSMSValues(sms) sms.save() sleep(1) self.assertEqual(self.getSMSLogCount(), 1) self.assertEqual(self.getSMSCount(), 1) smslog = FRISMSLog.get(sms.couch_id) self.checkFieldValues(smslog, sms, SMS._migration_get_fields()) self.assertTrue(FRISMSLog.get_db().get_rev(smslog._id).startswith('3-'))
def testSMSSync(self): prev_couch_count = self.getSMSLogCount() prev_sql_count = self.getSMSCount() # Test Create sms = SMS() self.setRandomSMSValues(sms) sms.save() sleep(1) self.assertEqual(self.getSMSLogCount(), prev_couch_count + 1) self.assertEqual(self.getSMSCount(), prev_sql_count + 1) smslog = FRISMSLog.get(sms.couch_id) self.checkFieldValues(smslog, sms, SMS._migration_get_fields()) self.assertTrue(FRISMSLog.get_db().get_rev( smslog._id).startswith('2-')) # Test Update self.setRandomSMSValues(sms) sms.save() sleep(1) self.assertEqual(self.getSMSLogCount(), prev_couch_count + 1) self.assertEqual(self.getSMSCount(), prev_sql_count + 1) smslog = FRISMSLog.get(sms.couch_id) self.checkFieldValues(smslog, sms, SMS._migration_get_fields()) self.assertTrue(FRISMSLog.get_db().get_rev( smslog._id).startswith('3-'))
def testFRISMSLogSync(self): prev_couch_count = self.getSMSLogCount() prev_sql_count = self.getSMSCount() # Test Create smslog = SMSLog() self.setRandomSMSLogValues(smslog) smslog.save() sleep(1) smslog = FRISMSLog.get(smslog._id) self.setRandomFRISMSLogValues(smslog) smslog.save() sleep(1) self.assertEqual(self.getSMSLogCount(), prev_couch_count + 1) self.assertEqual(self.getSMSCount(), prev_sql_count + 1) sms = SMS.objects.get(couch_id=smslog._id) self.checkFieldValues(smslog, sms, FRISMSLog._migration_get_fields()) self.assertTrue(FRISMSLog.get_db().get_rev(smslog._id).startswith('2-')) # Test Update self.setRandomSMSLogValues(smslog) self.setRandomFRISMSLogValues(smslog) smslog.save() sleep(1) self.assertEqual(self.getSMSLogCount(), prev_couch_count + 1) self.assertEqual(self.getSMSCount(), prev_sql_count + 1) sms = SMS.objects.get(couch_id=smslog._id) self.checkFieldValues(smslog, sms, FRISMSLog._migration_get_fields()) self.assertTrue(SMSLog.get_db().get_rev(smslog._id).startswith('3-'))
def run_migration(self): count = 0 ids = self.get_sms_couch_ids() total_count = len(ids) for doc in iter_docs(FRISMSLog.get_db(), ids): try: self.clean_doc(doc) couch_sms = FRISMSLog.wrap(doc) couch_sms._migration_do_sync() except Exception as e: print 'Could not sync SMSLog %s: %s' % (doc['_id'], e) count += 1 if (count % 10000) == 0: print 'Processed %s / %s documents' % (count, total_count)
def run_migration(self): count = 0 ids = self.get_sms_couch_ids() total_count = len(ids) for doc in iter_docs(FRISMSLog.get_db(), ids): try: self.clean_doc(doc) couch_sms = FRISMSLog.wrap(doc) couch_sms._migration_do_sync() except Exception as e: print "Could not sync SMSLog %s: %s" % (doc["_id"], e) count += 1 if (count % 10000) == 0: print "Processed %s / %s documents" % (count, total_count)