45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
检查 ODS settlement_records 表的字段名
|
|
"""
|
|
|
|
import os
|
|
import psycopg2
|
|
from dotenv import load_dotenv
|
|
|
|
def main():
|
|
# 加载环境变量
|
|
load_dotenv()
|
|
|
|
test_db_dsn = os.environ.get('TEST_DB_DSN')
|
|
if not test_db_dsn:
|
|
raise RuntimeError("TEST_DB_DSN 环境变量未设置")
|
|
|
|
print("🔍 检查 ODS settlement_records 表字段")
|
|
|
|
with psycopg2.connect(test_db_dsn) as conn:
|
|
with conn.cursor() as cur:
|
|
# 查看表字段
|
|
cur.execute("""
|
|
SELECT column_name, data_type
|
|
FROM information_schema.columns
|
|
WHERE table_schema = 'ods'
|
|
AND table_name = 'settlement_records'
|
|
ORDER BY ordinal_position
|
|
""")
|
|
|
|
columns = cur.fetchall()
|
|
print(f"settlement_records 表有 {len(columns)} 个字段:")
|
|
|
|
for column_name, data_type in columns:
|
|
print(f" {column_name} ({data_type})")
|
|
|
|
# 如果是 ID 相关字段,显示一些样本值
|
|
if 'id' in column_name.lower():
|
|
cur.execute(f"SELECT {column_name} FROM ods.settlement_records LIMIT 3")
|
|
samples = cur.fetchall()
|
|
sample_values = [str(row[0]) for row in samples]
|
|
print(f" 样本值: {', '.join(sample_values)}")
|
|
|
|
if __name__ == "__main__":
|
|
main() |