- Add SQLAlchemy models for User, Translation, ApiKey, UsageLog, PaymentHistory - Add database connection management with PostgreSQL/SQLite support - Add repository layer for CRUD operations - Add Alembic migration setup with initial migration - Update auth_service to automatically use database when DATABASE_URL is set - Update docker-compose.yml with PostgreSQL service and Redis (non-optional) - Add database migration script (scripts/migrate_to_db.py) - Update .env.example with database configuration
79 lines
1.6 KiB
INI
79 lines
1.6 KiB
INI
# Alembic configuration file
|
|
|
|
[alembic]
|
|
# path to migration scripts
|
|
script_location = alembic
|
|
|
|
# template used to generate migration files
|
|
# file_template = %%(rev)s_%%(slug)s
|
|
|
|
# sys.path path, will be prepended to sys.path if present.
|
|
prepend_sys_path = .
|
|
|
|
# timezone to use when rendering the date within the migration file
|
|
# as well as the filename.
|
|
# timezone =
|
|
|
|
# max length of characters to apply to the "slug" field
|
|
# truncate_slug_length = 40
|
|
|
|
# set to 'true' to run the environment during the 'revision' command,
|
|
# regardless of autogenerate
|
|
# revision_environment = false
|
|
|
|
# set to 'true' to allow .pyc and .pyo files without a source .py file
|
|
# to be detected as revisions in the versions/ directory
|
|
# sourceless = false
|
|
|
|
# version location specification; This defaults to alembic/versions
|
|
# version_locations = %(here)s/bar:%(here)s/bat:alembic/versions
|
|
|
|
# version path separator
|
|
# version_path_separator = :
|
|
|
|
# the output encoding used when revision files are written
|
|
# output_encoding = utf-8
|
|
|
|
sqlalchemy.url = driver://user:pass@localhost/dbname
|
|
|
|
|
|
[post_write_hooks]
|
|
# hooks = black
|
|
# black.type = console_scripts
|
|
# black.entrypoint = black
|
|
# black.options = -q
|
|
|
|
[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
|