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

v0.14+ requires all dependencies (pg, mysql, sqlite3 + dev package) #87

Open
ysbaddaden opened this issue May 9, 2023 · 2 comments
Open

Comments

@ysbaddaden
Copy link
Contributor

ysbaddaden commented May 9, 2023

The development dependencies were moved back as hard dependencies in v0.14.0

To merely install the micrate shard to our projects, the development packages of sqlite3 MUST be installed, regardless of the actual need for sqlite3. If the external C library isn't installed, adding the micrate shard won't even install, since the postinstall script forces the creation of the bin/micrate binary.

This is #77 again.

@hugopl
Copy link
Contributor

hugopl commented Oct 31, 2023

I just hit this issue, my use case is a amber project that works on data created by a rails project, so the migrations are handled by rails and I don't even use micrate... so to avoid need to install a lot of libraries I don't need my workaround is to simply --skip-postinstall and --skip-executables.

@Blacksmoke16
Copy link
Contributor

For posterity I looked into this a bit and there is no real good/simple solutions at the moment. My proposed solution would be:

  1. Remove the explicit deps
  2. Remove the postinstall script
  3. Update docs to instruct users to create a src/micrate.cr file and require related DB shards and call entrypoint method. (could have this part be automated by the postinstall script), then add a target for it in shard.yml

This means it won't be auto installed where you can just do ./bin/micrate anymore, but you only have to define that file/setup once so it isn't the end of the world. There is the argument that tools like this should be installed globally which would make things easier as well but 🤷.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants