Replies: 1 comment 1 reply
-
Distribution of the CLI with language bindings has significant downsides as discussed in the thread you've linked. The possibility has not been dismissed completely, but our focus is currently on making per-system/per-container installation modes working well.
There are also official packages (you can find instructions under the "Other Installation Options" on the Downloads page). Additionally, the CLI is now distributed as a Docker image, and so you can easily add it to your application container like so:
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I found a mention of this in one of the RFC comments, but the discussion was closed, so I'd like to start a new one here.
I know there is no built-in migrations management yet, but if the CLI can't be installed using the language package managers, how should the migrations be handled?
For example, let's say I have a typical server-side application with migrations and docker.
When I use PostgreSQL and SQLAlchemy (for example) with alembic, I just write the migration command in my Dockerfile, and that way, when the application is deployed, it will update the database schema to the latest version available:
CMD alembic upgrade head && \ uvicorn --host=0.0.0.0 app.main:app
I can do the same using EdgeDB and its CLI. But the difference is that I can install
alembic
with all my other dependencies using justpoetry install
command, and EdgeDB CLI I have to install separately using curl. This makes dependencies management for the project a little more difficult :(I'm not sure about npm, but maybe it's possible for python to distribute the CLI as a separate package (
edgedb-cli
for example)?And add an optional dependency to the driver(
edgedb[cli]
) without binding to specific version of CLI?Beta Was this translation helpful? Give feedback.
All reactions