833a6cd docs: recommend using PostgreSQL for development (over SQLite)

Authored and Committed by kparal 2 years ago
    docs: recommend using PostgreSQL for development (over SQLite)
    
    This changes all documentation to discourage people from using SQLite (even for
    development) and recommends to use PostgreSQL instead. The docs are updated to
    include setup instructions for PostgreSQL as a podman container, and adds
    guidance how to control it, back it up, etc.
    
    The motivation for this change is that I encountered serious issues when
    adjusting DB scheme (including writing Alembic scripts) with an SQLite DB.
    Operations like editing a column, removing a column, or changing constraints
    fail with SQLite. Some of those issues can be worked around with a "batch" mode
    of Alembic, some can't. Even worse, the Alembic scripts' autogeneration seems to
    be related to the currently running DB. So even if you make sure something works
    locally, it might not work in production. It is therefore important to develop
    these changes with the same DB as in production. Furthermore, database upgrades
    (executed automatically when detected) might fail on SQLite, which means the
    developer needs to wipe away whole DB and create it from scratch.
    
    It would be possible to keep using SQLite for development where DB schema is not
    changed, and add some hints when DB upgrades fail. However, with simple enough
    instructions for installing and managing PostgreSQL, it seemed unnecessary to
    keep officially supporting both options. Having just a single option makes
    things simpler and safer, and the new documentation should help people not
    familiar with PostgreSQL.
    
    Merges: https://pagure.io/fedora-qa/blockerbugs/pull-request/193
    
        
file modified
+1 -0
file modified
+3 -3
file modified
+57 -10
file modified
+3 -15
file modified
+1 -0