50ad42a7 by 周伟奇

mysql --> mssql

1 parent a7e918d7
...@@ -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()
......
...@@ -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):
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!