Skip to content

Migrate away from ponyorm #585

@fluffy-critter

Description

@fluffy-critter

While pony is a great library, a lot of its functionality tends to run into compatibility issues with every Python version change, and the utility of a rapid-development ORM has now outlived its usefulness.

Before replacing Pony, it's important to figure out what to replace it with. Here are some possibilities:

  • SQLAlchemy: A well-regarded SQL abstraction layer and ORM that uses declarative syntax instead of generator tricks.
  • SQLObject: Similar to SQLAlchemy but has seemingly simpler syntax and provides semi-Pythonic query syntax.
  • lmdb: a BerkeleyDB-like indexed data store. Super fast and lightweight but also requires a LOT more attention for actually building queries. 2018 me was super into it, 2024 me not so much.

Of the three I have a weak preference for SQLAlchemy, just because it's so well-used. Also, the "session" concept should make it possible to finally add proper unit tests to Publ; pony's global db state has been a major pain point here, and unfortunately SQLObject seems to follow the same general pattern.

Metadata

Metadata

Assignees

No one assigned

    Labels

    code qualityPlaces where the code quality or readability can be improvedlargeThis is going to take a lot longer than most things

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions