Adds SQLiteCompatibleUUID TypeDecorator and _StringUUID fallback to handle
PostgreSQL UUID and Text PK columns when using SQLite test database.
- SQLiteCompatibleUUID: converts uuid.UUID to CHAR(32) hex string for bind,
returns uuid.UUID on result fetch
- _StringUUID: handles Text PK/FK columns that tests bind UUID values into
- _adapt_uuid_columns_for_sqlite: replaces PostgresUUID column types
- _adapt_text_pk_columns_for_uuid: replaces Text PK types
- _adapt_fk_columns_for_uuid: replaces Text FK types
- _strip_postgres_server_defaults: removes gen_random_uuid/gen_random_bytes
server_defaults that SQLite can't evaluate
Updates test_encrypted_json.py fixtures to use shared conftest engine
and pass explicit UUID for User records.
Fixes CAR-1111.
Co-Authored-By: Paperclip <noreply@paperclip.ing>