mysql --> mssql
Showing
5 changed files
with
27 additions
and
22 deletions
| ... | @@ -7,7 +7,7 @@ from .named_enum import DocStatus, KeywordsType | ... | @@ -7,7 +7,7 @@ from .named_enum import DocStatus, KeywordsType |
| 7 | # 上传文件记录表/任务表 | 7 | # 上传文件记录表/任务表 |
| 8 | class UploadDocRecords(models.Model): | 8 | class UploadDocRecords(models.Model): |
| 9 | id = models.AutoField(primary_key=True, verbose_name="id") | 9 | id = models.AutoField(primary_key=True, verbose_name="id") |
| 10 | metadata_version_id = models.CharField(max_length=64, verbose_name="元数据版本id") | 10 | metadata_version_id = models.CharField(max_length=64, verbose_name="元数据版本id") # 索引 |
| 11 | application_id = models.CharField(max_length=64, verbose_name="申请id") | 11 | application_id = models.CharField(max_length=64, verbose_name="申请id") |
| 12 | main_applicant = models.CharField(max_length=16, verbose_name="主申请人") | 12 | main_applicant = models.CharField(max_length=16, verbose_name="主申请人") |
| 13 | co_applicant = models.CharField(max_length=16, verbose_name="共同申请人") | 13 | co_applicant = models.CharField(max_length=16, verbose_name="共同申请人") |
| ... | @@ -28,7 +28,6 @@ class UploadDocRecords(models.Model): | ... | @@ -28,7 +28,6 @@ class UploadDocRecords(models.Model): |
| 28 | 28 | ||
| 29 | class HILDoc(models.Model): | 29 | class HILDoc(models.Model): |
| 30 | id = models.AutoField(primary_key=True, verbose_name="id") | 30 | id = models.AutoField(primary_key=True, verbose_name="id") |
| 31 | record_id = models.IntegerField(verbose_name='记录id') | ||
| 32 | metadata_version_id = models.CharField(max_length=64, verbose_name="元数据版本id") | 31 | metadata_version_id = models.CharField(max_length=64, verbose_name="元数据版本id") |
| 33 | application_id = models.CharField(max_length=64, verbose_name="申请id") # 联合索引 | 32 | application_id = models.CharField(max_length=64, verbose_name="申请id") # 联合索引 |
| 34 | status = models.SmallIntegerField(default=DocStatus.INIT.value, verbose_name="文件状态") # 联合索引 | 33 | status = models.SmallIntegerField(default=DocStatus.INIT.value, verbose_name="文件状态") # 联合索引 |
| ... | @@ -50,7 +49,6 @@ class HILDoc(models.Model): | ... | @@ -50,7 +49,6 @@ class HILDoc(models.Model): |
| 50 | 49 | ||
| 51 | class AFCDoc(models.Model): | 50 | class AFCDoc(models.Model): |
| 52 | id = models.AutoField(primary_key=True, verbose_name="id") | 51 | id = models.AutoField(primary_key=True, verbose_name="id") |
| 53 | record_id = models.IntegerField(verbose_name='记录id') | ||
| 54 | metadata_version_id = models.CharField(max_length=64, verbose_name="元数据版本id") | 52 | metadata_version_id = models.CharField(max_length=64, verbose_name="元数据版本id") |
| 55 | application_id = models.CharField(max_length=64, verbose_name="申请id") | 53 | application_id = models.CharField(max_length=64, verbose_name="申请id") |
| 56 | status = models.SmallIntegerField(default=DocStatus.INIT.value, verbose_name="文件状态") | 54 | status = models.SmallIntegerField(default=DocStatus.INIT.value, verbose_name="文件状态") |
| ... | @@ -76,7 +74,7 @@ class GCAPRecords(models.Model): | ... | @@ -76,7 +74,7 @@ class GCAPRecords(models.Model): |
| 76 | status = models.IntegerField(null=True, verbose_name='状态') | 74 | status = models.IntegerField(null=True, verbose_name='状态') |
| 77 | rating = models.IntegerField(null=True, verbose_name='排名') | 75 | rating = models.IntegerField(null=True, verbose_name='排名') |
| 78 | entity = models.CharField(null=True, max_length=128, verbose_name="业务类型") | 76 | entity = models.CharField(null=True, max_length=128, verbose_name="业务类型") |
| 79 | application_id = models.CharField(max_length=128, verbose_name="申请id") | 77 | application_id = models.CharField(max_length=64, verbose_name="申请id") |
| 80 | application_version = models.IntegerField(null=True, verbose_name='申请版本') | 78 | application_version = models.IntegerField(null=True, verbose_name='申请版本') |
| 81 | intermediate_decision = models.CharField(null=True, max_length=128, verbose_name="中间决策") | 79 | intermediate_decision = models.CharField(null=True, max_length=128, verbose_name="中间决策") |
| 82 | submit_datetime = models.DateTimeField(null=True, verbose_name='提交时间') | 80 | submit_datetime = models.DateTimeField(null=True, verbose_name='提交时间') | ... | ... |
| ... | @@ -106,7 +106,7 @@ class UploadDocView(GenericView, DocHandler): | ... | @@ -106,7 +106,7 @@ class UploadDocView(GenericView, DocHandler): |
| 106 | data_source = document.get('dataSource') | 106 | data_source = document.get('dataSource') |
| 107 | try: | 107 | try: |
| 108 | # 1. 上传信息记录 | 108 | # 1. 上传信息记录 |
| 109 | record = UploadDocRecords.objects.create( | 109 | UploadDocRecords.objects.create( |
| 110 | metadata_version_id=document.get('metadataVersionId'), | 110 | metadata_version_id=document.get('metadataVersionId'), |
| 111 | application_id=application_id, | 111 | application_id=application_id, |
| 112 | main_applicant=applicant_data.get('mainApplicantName'), | 112 | main_applicant=applicant_data.get('mainApplicantName'), |
| ... | @@ -126,7 +126,6 @@ class UploadDocView(GenericView, DocHandler): | ... | @@ -126,7 +126,6 @@ class UploadDocView(GenericView, DocHandler): |
| 126 | # 2. 根据业务类型分库存储 | 126 | # 2. 根据业务类型分库存储 |
| 127 | doc_class, prefix = self.get_doc_class(business_type) | 127 | doc_class, prefix = self.get_doc_class(business_type) |
| 128 | doc = doc_class.objects.create( | 128 | doc = doc_class.objects.create( |
| 129 | record_id=record.id, | ||
| 130 | metadata_version_id=document.get('metadataVersionId'), | 129 | metadata_version_id=document.get('metadataVersionId'), |
| 131 | application_id=application_id, | 130 | application_id=application_id, |
| 132 | main_applicant=applicant_data.get('mainApplicantName'), | 131 | main_applicant=applicant_data.get('mainApplicantName'), |
| ... | @@ -142,8 +141,8 @@ class UploadDocView(GenericView, DocHandler): | ... | @@ -142,8 +141,8 @@ class UploadDocView(GenericView, DocHandler): |
| 142 | is_priority = PriorityApplication.objects.filter(application_id=application_id, on_off=True).exists() | 141 | is_priority = PriorityApplication.objects.filter(application_id=application_id, on_off=True).exists() |
| 143 | tasks = ['{0}{1}{2}'.format(prefix, consts.SPLIT_STR, doc.id)] | 142 | tasks = ['{0}{1}{2}'.format(prefix, consts.SPLIT_STR, doc.id)] |
| 144 | enqueue_res = rh.enqueue(tasks, is_priority) | 143 | enqueue_res = rh.enqueue(tasks, is_priority) |
| 145 | self.running_log.info('[doc upload success] [args={0}] [record_id={1}] [business_type={2}] [doc_id={3}] ' | 144 | self.running_log.info('[doc upload success] [args={0}] [business_type={1}] [doc_id={2}] ' |
| 146 | '[is_priority={4}] [enqueue_res={5}]'.format(args, record.id, prefix, doc.id, | 145 | '[is_priority={3}] [enqueue_res={4}]'.format(args, prefix, doc.id, |
| 147 | is_priority, enqueue_res)) | 146 | is_priority, enqueue_res)) |
| 148 | return response.ok() | 147 | return response.ok() |
| 149 | 148 | ||
| ... | @@ -279,7 +278,7 @@ class DocView(GenericView, DocHandler): | ... | @@ -279,7 +278,7 @@ class DocView(GenericView, DocHandler): |
| 279 | document_scheme = random.choice(consts.DOC_SCHEME_LIST) | 278 | document_scheme = random.choice(consts.DOC_SCHEME_LIST) |
| 280 | data_source = random.choice(consts.DATA_SOURCE_LIST) | 279 | data_source = random.choice(consts.DATA_SOURCE_LIST) |
| 281 | business_type = random.choice(consts.BUSINESS_TYPE_LIST) | 280 | business_type = random.choice(consts.BUSINESS_TYPE_LIST) |
| 282 | record = UploadDocRecords.objects.create( | 281 | UploadDocRecords.objects.create( |
| 283 | metadata_version_id=metadata_version_id, | 282 | metadata_version_id=metadata_version_id, |
| 284 | application_id=application_id, | 283 | application_id=application_id, |
| 285 | main_applicant='', | 284 | main_applicant='', |
| ... | @@ -296,7 +295,6 @@ class DocView(GenericView, DocHandler): | ... | @@ -296,7 +295,6 @@ class DocView(GenericView, DocHandler): |
| 296 | # 2. 根据业务类型分库存储 | 295 | # 2. 根据业务类型分库存储 |
| 297 | doc_class, prefix = self.get_doc_class(business_type) | 296 | doc_class, prefix = self.get_doc_class(business_type) |
| 298 | doc = doc_class.objects.create( | 297 | doc = doc_class.objects.create( |
| 299 | record_id=record.id, | ||
| 300 | metadata_version_id=metadata_version_id, | 298 | metadata_version_id=metadata_version_id, |
| 301 | application_id=application_id, | 299 | application_id=application_id, |
| 302 | main_applicant='', | 300 | main_applicant='', |
| ... | @@ -319,7 +317,7 @@ class DocView(GenericView, DocHandler): | ... | @@ -319,7 +317,7 @@ class DocView(GenericView, DocHandler): |
| 319 | os.makedirs(save_dir_path, exist_ok=True) | 317 | os.makedirs(save_dir_path, exist_ok=True) |
| 320 | file_write(pdf_file, save_file_path) | 318 | file_write(pdf_file, save_file_path) |
| 321 | 319 | ||
| 322 | self.running_log.info('[mock doc upload success] [args={0}] [record_id={1}] [business_type={2}] [doc_id={3}] ' | 320 | self.running_log.info('[mock doc upload success] [args={0}] [business_type={1}] [doc_id={2}] ' |
| 323 | '[is_priority={4}] [enqueue_res={5}]'.format(args, record.id, prefix, doc.id, | 321 | '[is_priority={3}] [enqueue_res={4}]'.format(args, prefix, doc.id, |
| 324 | is_priority, enqueue_res)) | 322 | is_priority, enqueue_res)) |
| 325 | return response.ok() | 323 | return response.ok() | ... | ... |
src/common/tools/mssql_script.py
0 → 100644
This diff is collapsed.
Click to expand it.
| ... | @@ -95,8 +95,15 @@ DATABASES = { | ... | @@ -95,8 +95,15 @@ DATABASES = { |
| 95 | 'default': conf.get_namespace('MYSQL_DEFAULT_'), | 95 | 'default': conf.get_namespace('MYSQL_DEFAULT_'), |
| 96 | 'afc': conf.get_namespace('MYSQL_AFC_') | 96 | 'afc': conf.get_namespace('MYSQL_AFC_') |
| 97 | } | 97 | } |
| 98 | |||
| 99 | for db_setting in DATABASES.values(): | ||
| 100 | db_setting['OPTIONS'] = { | ||
| 101 | 'driver': 'ODBC Driver 17 for SQL Server' | ||
| 102 | } | ||
| 103 | |||
| 104 | |||
| 98 | DATABASE_ROUTERS = ['settings.database.DBRouter'] | 105 | DATABASE_ROUTERS = ['settings.database.DBRouter'] |
| 99 | MYSQLPOOL_ARGUMENTS = database.MYSQLPOOL_ARGUMENTS | 106 | # MYSQLPOOL_ARGUMENTS = database.MYSQLPOOL_ARGUMENTS |
| 100 | 107 | ||
| 101 | 108 | ||
| 102 | # Password validation | 109 | # Password validation |
| ... | @@ -180,3 +187,5 @@ OAUTH2_PROVIDER = { | ... | @@ -180,3 +187,5 @@ OAUTH2_PROVIDER = { |
| 180 | # this is the list of available scopes | 187 | # this is the list of available scopes |
| 181 | 'SCOPES': {'read': 'Read scope', 'write': 'Write scope'} | 188 | 'SCOPES': {'read': 'Read scope', 'write': 'Write scope'} |
| 182 | } | 189 | } |
| 190 | |||
| 191 | # print(DATABASES) | ... | ... |
| ... | @@ -2,10 +2,10 @@ | ... | @@ -2,10 +2,10 @@ |
| 2 | Database | 2 | Database |
| 3 | https://docs.djangoproject.com/en/1.11/ref/settings/#databases | 3 | https://docs.djangoproject.com/en/1.11/ref/settings/#databases |
| 4 | """ | 4 | """ |
| 5 | import pymysql | 5 | # import pymysql |
| 6 | from django.db.models import options | 6 | from django.db.models import options |
| 7 | 7 | ||
| 8 | pymysql.install_as_MySQLdb() | 8 | # pymysql.install_as_MySQLdb() |
| 9 | 9 | ||
| 10 | # 同一App下的Model可能会存储到不同的db,所以根据app_label来做db_router不是特别合适 | 10 | # 同一App下的Model可能会存储到不同的db,所以根据app_label来做db_router不是特别合适 |
| 11 | # 所以添加situ_db_label来映射model到db | 11 | # 所以添加situ_db_label来映射model到db |
| ... | @@ -13,13 +13,13 @@ pymysql.install_as_MySQLdb() | ... | @@ -13,13 +13,13 @@ pymysql.install_as_MySQLdb() |
| 13 | options.DEFAULT_NAMES = tuple(list(options.DEFAULT_NAMES) + ['situ_db_label']) | 13 | options.DEFAULT_NAMES = tuple(list(options.DEFAULT_NAMES) + ['situ_db_label']) |
| 14 | 14 | ||
| 15 | # 数据库连接池配置 | 15 | # 数据库连接池配置 |
| 16 | MYSQLPOOL_ARGUMENTS = { | 16 | # MYSQLPOOL_ARGUMENTS = { |
| 17 | 'recycle': 30, | 17 | # 'recycle': 30, |
| 18 | 'pool_size': 64, | 18 | # 'pool_size': 64, |
| 19 | 'max_overflow': 10, | 19 | # 'max_overflow': 10, |
| 20 | 'timeout': 5, | 20 | # 'timeout': 5, |
| 21 | 'use_threadlocal': False, | 21 | # 'use_threadlocal': False, |
| 22 | } | 22 | # } |
| 23 | 23 | ||
| 24 | 24 | ||
| 25 | class DBRouter(object): | 25 | class DBRouter(object): | ... | ... |
-
Please register or sign in to post a comment