|
@@ -220,7 +220,7 @@ def get_resource_storage_info(resource_id):
|
|
metadata_query = """
|
|
metadata_query = """
|
|
MATCH (n:data_resource)-[:contain]->(m:meta_data)
|
|
MATCH (n:data_resource)-[:contain]->(m:meta_data)
|
|
WHERE id(n) = $resource_id
|
|
WHERE id(n) = $resource_id
|
|
- RETURN m.name as name, m.en_name as en_name, m.type as type
|
|
|
|
|
|
+ RETURN m.name as name, m.en_name as en_name, m.data_type as type
|
|
"""
|
|
"""
|
|
result = session.run(metadata_query, resource_id=int(resource_id))
|
|
result = session.run(metadata_query, resource_id=int(resource_id))
|
|
metadata_list = [dict(record) for record in result]
|
|
metadata_list = [dict(record) for record in result]
|
|
@@ -280,9 +280,9 @@ def check_and_create_table(table_name, metadata_list):
|
|
|
|
|
|
# 构建建表SQL
|
|
# 构建建表SQL
|
|
columns = [
|
|
columns = [
|
|
- f"{meta['en_name']} {meta['type']}"
|
|
|
|
|
|
+ f"{meta['en_name']} {meta['data_type']}"
|
|
for meta in metadata_list
|
|
for meta in metadata_list
|
|
- if 'en_name' in meta and meta['en_name'] and 'type' in meta and meta['type']
|
|
|
|
|
|
+ if 'en_name' in meta and meta['en_name'] and 'data_type' in meta and meta['data_type']
|
|
]
|
|
]
|
|
|
|
|
|
if not columns:
|
|
if not columns:
|
|
@@ -351,7 +351,7 @@ def check_and_create_table(table_name, metadata_list):
|
|
# 检查每个元数据是否需要作为新列添加
|
|
# 检查每个元数据是否需要作为新列添加
|
|
for meta in metadata_list:
|
|
for meta in metadata_list:
|
|
if 'en_name' in meta and meta['en_name'] and meta['en_name'].lower() not in (col.lower() for col in existing_columns):
|
|
if 'en_name' in meta and meta['en_name'] and meta['en_name'].lower() not in (col.lower() for col in existing_columns):
|
|
- column_type = meta.get('type', 'VARCHAR(255)')
|
|
|
|
|
|
+ column_type = meta.get('data_type', 'VARCHAR(255)')
|
|
alter_sql = f"ALTER TABLE ods.{table_name} ADD COLUMN {meta['en_name']} {column_type};"
|
|
alter_sql = f"ALTER TABLE ods.{table_name} ADD COLUMN {meta['en_name']} {column_type};"
|
|
logger.info(f"添加新列: {alter_sql}")
|
|
logger.info(f"添加新列: {alter_sql}")
|
|
try:
|
|
try:
|
|
@@ -759,7 +759,7 @@ def extract_metadata_from_excel(file_path, table_name):
|
|
metadata_list.append({
|
|
metadata_list.append({
|
|
'name': name,
|
|
'name': name,
|
|
'en_name': en_name,
|
|
'en_name': en_name,
|
|
- 'type': data_type
|
|
|
|
|
|
+ 'data_type': data_type
|
|
})
|
|
})
|
|
except Exception as e:
|
|
except Exception as e:
|
|
logger.error(f"处理列 {name} 时出错: {str(e)}")
|
|
logger.error(f"处理列 {name} 时出错: {str(e)}")
|
|
@@ -768,7 +768,7 @@ def extract_metadata_from_excel(file_path, table_name):
|
|
metadata_list.append({
|
|
metadata_list.append({
|
|
'name': name,
|
|
'name': name,
|
|
'en_name': en_name,
|
|
'en_name': en_name,
|
|
- 'type': 'VARCHAR(255)'
|
|
|
|
|
|
+ 'data_type': 'VARCHAR(255)'
|
|
})
|
|
})
|
|
|
|
|
|
logger.info(f"从Excel推断出的元数据: {metadata_list}")
|
|
logger.info(f"从Excel推断出的元数据: {metadata_list}")
|