upgrade_ReportModel_20180718.py 922 B

123456789101112131415161718192021222324252627282930313233343536
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. """
  4. """
  5. import os
  6. import sys
  7. #: current_dir - 2
  8. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  9. sys.path.insert(0, PROJECT_ROOT)
  10. from script.base import init_env, get_logger, setup_logger, get_current_file
  11. setup_logger(get_current_file(), __name__)
  12. logger = get_logger(__name__)
  13. init_env(interactive=True)
  14. from pymongo.collection import Collection
  15. from apps.web.report.models import DevReport, GroupReport, DealerReport
  16. report_models = (DealerReport, GroupReport, DevReport)
  17. def rename(collection, change=None):
  18. # type:(Collection, dict) -> int
  19. change = {'generatedTime': 'dateTimeAdded'} if change is None else change
  20. return collection.update({}, {'$rename': change}, multi=True)
  21. for _ in report_models:
  22. logger.info('renaming collection %s' % (_.__name__,))
  23. rename(_.get_collection())