feature:remove
Introduction
feature:remove takes a feature out of the selected product, pinned or editable. The running app picks up the change with no restart. To keep the feature and only unpin its release, use feature:detach.
splent feature:remove splent-io/splent_feature_notes
notes removed from features
uninstalling from web container...
done.
The entry, its symlink and its manifest entry go. The feature’s own folder and .splent_cache are never touched. Comments, blank lines, key order and quote style stay as they were in pyproject.toml.
Removing it from one environment
splent feature:remove splent_feature_notes --dev
--dev removes it only from features_dev, and --prod only from features_prod. Without either, every list is searched. A feature still declared in another list stays installed.
Naming the namespace
splent feature:remove splent_feature_notes --namespace alice
The namespace comes from the argument, from --namespace (-n), or is splent-io. When the feature lives under another one, you are told which.
notes not found in pyproject.toml under 'splent-io'.
It is declared as alice/splent_feature_notes. Use --namespace alice.
When it refuses
Cannot remove 'notes': the following features depend on it:
- splent_feature_reports
Remove those first, or use --force.
Another installed feature requires it in its contract. Remove that one first.
notes has migrations applied (state: migrated).
Roll them back first: splent db:rollback splent_feature_notes --steps 999
Or use --force.
Roll its migrations back first, so no orphaned tables stay. The state active does not block. --force skips both checks.
Reference
| Option | Description |
|---|---|
--namespace, -n |
The namespace, when the argument has none. Defaults to splent-io |
--dev |
Remove only from features_dev |
--prod |
Remove only from features_prod |
--force |
Skip the dependency and migration checks |
| Message | Exit | What to do |
|---|---|---|
Invalid namespace '...' or Invalid feature name '...' |
1 | Use <namespace>/splent_feature_<name> |
<short> is not in features_dev, it is declared in <lists>. |
0 | Drop --dev or --prod |
<path> was left as it was, because <reason> |
1 | Make the edit by hand. Nothing was written |
Requirements
- A selected product (
SPLENT_APP).
See also
feature:detachunpins a release and keeps the feature as editable.db:rollbackrolls back a feature’s migrations first.feature:statusshows the lifecycle state of each feature.