# Alembic configuration file for nextcloud-mcp-server [alembic] # Path to migration scripts script_location = nextcloud_mcp_server/alembic # Template used to generate migration file names # Default: %%(rev)s_%%(slug)s file_template = %%(year)d%%(month).2d%%(day).2d_%%(hour).2d%%(minute).2d_%%(rev)s_%%(slug)s # Timezone for migration timestamps # Default: utc timezone = utc # Max length of characters to apply to the "slug" field # Default: 40 # truncate_slug_length = 40 # Set to 'true' to run the environment during the 'revision' command # Default: false # revision_environment = false # Set to 'true' to allow .pyc and .pyo files without a source .py file # Default: false # sourceless = false # Version location specification # Supports single or multiple directories version_locations = nextcloud_mcp_server/alembic/versions # Path separator for version locations (required to suppress deprecation warning) # Use os (for cross-platform compatibility) path_separator = os # Set to 'true' to search source files recursively in each "version_locations" directory # Default: false # recursive_version_locations = false # Output encoding used when revision files are written # Default: utf-8 # output_encoding = utf-8 # Database URL - placeholder only. # Runtime code (migrations.get_alembic_config / alembic/env.get_database_url) # overrides this with config.get_token_db_path() which defaults to an # ephemeral per-process tempfile unless TOKEN_STORAGE_DB is set. # This value only matters for manual `alembic` invocations (e.g. # `uv run alembic current`). The `./tokens.db` path is intentionally # resolved relative to the shell's current working directory at the time # of invocation — run alembic from the repo root for predictable behaviour, # or pass `-x database_url=sqlite+aiosqlite:///`. sqlalchemy.url = sqlite+aiosqlite:///./tokens.db [post_write_hooks] # Post-write hooks allow you to run scripts after generating migration files # Example: format migrations with ruff # hooks = ruff # ruff.type = exec # ruff.executable = ruff # ruff.options = format REVISION_SCRIPT_FILENAME # Logging configuration [loggers] keys = root,sqlalchemy,alembic [handlers] keys = console [formatters] keys = generic [logger_root] level = WARN handlers = console qualname = [logger_sqlalchemy] level = WARN handlers = qualname = sqlalchemy.engine [logger_alembic] level = INFO handlers = qualname = alembic [handler_console] class = StreamHandler args = (sys.stderr,) level = NOTSET formatter = generic [formatter_generic] format = %(levelname)-5.5s [%(name)s] %(message)s datefmt = %H:%M:%S