-
Notifications
You must be signed in to change notification settings - Fork 30
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
Comments
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 |
For posterity I looked into this a bit and there is no real good/simple solutions at the moment. My proposed solution would be:
This means it won't be auto installed where you can just do |
This works by having a crystal script in bin/micrate, the script just compiles the micrate CLI to bin/micrate-bin if it doesn't exists. On micrate-bin side, it only require the database libraries found in lib dir, so the user of micrate now need to add the database backend. Another change included in this patch was to let the crystal-db version free, so micrate doesn't hold the entire application of using new versions of crystal-db. Fix amberframework#87
This works by having a wrapper that compiles the CLI on first use, when the database backend libraries were already downloaded by shards. Changes: - Rename src/micrate-bin.cr to src/micrate-cli.cr - Add src/micrate-wrapper.cr that compiles in a post install to bin/micrate. - bin/micrate compiles src/micrate-cli to bin/micrate-cli-<VERSION> - src/micrate-cli.cr only require database backends found in lib/ - Do not pin crystal-db version to avoid having to release new micrate versions on every crystal-db release. Fix amberframework#87
This works by having a wrapper that compiles the CLI on first use, when the database backend libraries were already downloaded by shards. Changes: - Rename src/micrate-bin.cr to src/micrate-cli.cr - Add src/micrate-wrapper.cr that compiles in a post install to bin/micrate. - bin/micrate compiles src/micrate-cli to bin/micrate-cli-<VERSION> - src/micrate-cli.cr only require database backends found in lib/ - Do not pin crystal-db version to avoid having to release new micrate versions on every crystal-db release. Fix amberframework#87
This works by having a wrapper that compiles the CLI on first use, when the database backend libraries were already downloaded by shards. Changes: - Rename src/micrate-bin.cr to src/micrate-cli.cr - Add src/micrate-wrapper.cr that compiles in a post install to bin/micrate. - bin/micrate compiles src/micrate-cli to bin/micrate-cli-<VERSION> - src/micrate-cli.cr only require database backends found in lib/ - Do not pin crystal-db version to avoid having to release new micrate versions on every crystal-db release. Fix amberframework#87
This works by having a wrapper that compiles the CLI on first use, when the database backend libraries were already downloaded by shards. Changes: - Rename src/micrate-bin.cr to src/micrate-cli.cr - Add src/micrate-wrapper.cr that compiles in a post install to bin/micrate. - bin/micrate compiles src/micrate-cli to bin/micrate-cli-<VERSION> - src/micrate-cli.cr only require database backends found in lib/ - Do not pin crystal-db version to avoid having to release new micrate versions on every crystal-db release. Fix amberframework#87
This works by having a wrapper that compiles the CLI on first use, when the database backend libraries were already downloaded by shards. Changes: - Rename src/micrate-bin.cr to src/micrate-cli.cr - Add src/micrate-wrapper.cr that compiles in a post install to bin/micrate. - bin/micrate compiles src/micrate-cli to bin/micrate-cli-<VERSION> - src/micrate-cli.cr only require database backends found in lib/ - Do not pin crystal-db version to avoid having to release new micrate versions on every crystal-db release. Fix amberframework#87
This works by having a wrapper that compiles the CLI on first use, when the database backend libraries were already downloaded by shards. Changes: - Rename src/micrate-bin.cr to src/micrate-cli.cr - Add src/micrate-wrapper.cr that compiles in a post install to bin/micrate. - bin/micrate compiles src/micrate-cli to bin/micrate-cli-<VERSION> - src/micrate-cli.cr only require database backends found in lib/ - Do not pin crystal-db version to avoid having to release new micrate versions on every crystal-db release. Fix amberframework#87
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 themicrate
shard won't even install, since thepostinstall
script forces the creation of thebin/micrate
binary.This is #77 again.
The text was updated successfully, but these errors were encountered: