trinodb / trino-python-client

Python client for Trino
Apache License 2.0
335 stars 168 forks source link

Alembic support for Trino #287

Open sergio-ropero opened 2 years ago

sergio-ropero commented 2 years ago

Describe the feature

It would be awesome to use Alembic for Trino in order to apply migrations and being able to rollback. That can help with the CI/CD pipelines without overthinking an in-house solution when the technology is already in place.

Also, the Trino dialect is already implemented so it's a matter to connect the dots between the dialect and the Alembic usage (like the Imp for postgresql as example).

Describe alternatives you've considered

I have been able to use it with a workaround creating an empty implementation with the trino dialect but a proper implementation would be better and more functional:

from alembic.ddl.impl import DefaultImpl

class TrinoImpl(DefaultImpl):
    __dialect__ = 'trino'

Are you willing to submit PR?

hashhar commented 2 months ago

We can use https://github.com/SAP/sqlalchemy-hana/blob/main/sqlalchemy_hana/alembic.py as inspiration for when we work on this.