Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stateful (or, database-aware) plugin interface #666

Open
achimnol opened this issue Aug 18, 2022 · 0 comments
Open

Stateful (or, database-aware) plugin interface #666

achimnol opened this issue Aug 18, 2022 · 0 comments
Labels
comp:common Related to Common component type:feature Add new features
Milestone

Comments

@achimnol
Copy link
Member

achimnol commented Aug 18, 2022

Some advanced plugins may want to use the PostgreSQL/Redis databases to keep their own complex states.

Let's add a new base plugin context to provide database management lifecycle events.

We assume that each plugin has its own alembic migrations and self-manage their table schema. The plugin context just performs basic sanity checks such as duplication of table names. More detailed SQL guidelines will be required to prevent database integrity errors when deleting plugin-defined tables without affecting the tables defined by the core.

Technical considerations:

  • Could we provide a generic common CRUD interface of the database tables defined by plugins for the control panel or some kinds of admin interfaces? (like django.contrib.admin)
@achimnol achimnol added type:feature Add new features comp:common Related to Common component labels Aug 18, 2022
@achimnol achimnol added this to the 23.03 milestone Aug 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:common Related to Common component type:feature Add new features
Projects
None yet
Development

No branches or pull requests

1 participant