获取数据库 URL(处理相对路径)
()
| 952 | |
| 953 | |
| 954 | def get_database_url() -> str: |
| 955 | """ |
| 956 | 获取数据库 URL(处理相对路径) |
| 957 | """ |
| 958 | settings = get_settings() |
| 959 | url = settings.database_url |
| 960 | |
| 961 | # 如果 URL 是相对路径,转换为绝对路径 |
| 962 | if url.startswith("sqlite:///"): |
| 963 | path = url[10:] # 移除 "sqlite:///" |
| 964 | if not os.path.isabs(path): |
| 965 | # 转换为相对于项目根目录的路径 |
| 966 | project_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) |
| 967 | abs_path = os.path.join(project_root, path) |
| 968 | return f"sqlite:///{abs_path}" |
| 969 | |
| 970 | return url |
| 971 | |
| 972 | |
| 973 | def get_setting_definition(attr_name: str) -> Optional[SettingDefinition]: |
no test coverage detected