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