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

chore: filter out milestone strategies in features_view #8883

Merged
merged 4 commits into from
Dec 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -538,9 +538,6 @@ class FeatureStrategiesStore implements IFeatureStrategiesStore {
e.strategies = e.strategies.sort(
(a, b) => a.sortOrder - b.sortOrder,
);
if (e.strategies && e.strategies.length === 0) {
e.enabled = false;
}
return e;
});

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
'use strict';

exports.up = function (db, callback) {
db.runSql(
`
DROP VIEW features_view;

CREATE VIEW features_view AS
SELECT
features.name as name,
features.description as description,
features.type as type,
features.project as project,
features.stale as stale,
features.impression_data as impression_data,
features.created_at as created_at,
features.archived_at as archived_at,
features.last_seen_at as last_seen_at,
feature_environments.last_seen_at as env_last_seen_at,
feature_environments.enabled as enabled,
feature_environments.environment as environment,
feature_environments.variants as variants,
environments.name as environment_name,
environments.type as environment_type,
environments.sort_order as environment_sort_order,
feature_strategies.id as strategy_id,
feature_strategies.strategy_name as strategy_name,
feature_strategies.parameters as parameters,
feature_strategies.constraints as constraints,
feature_strategies.sort_order as sort_order,
fss.segment_id as segments,
feature_strategies.title as strategy_title,
feature_strategies.disabled as strategy_disabled,
feature_strategies.variants as strategy_variants,
users.id as user_id,
users.name as user_name,
users.username as user_username,
users.email as user_email
FROM
features
LEFT JOIN feature_environments ON feature_environments.feature_name = features.name
LEFT JOIN (
SELECT *
FROM feature_strategies
WHERE milestone_id IS NULL
) AS feature_strategies ON feature_strategies.feature_name = feature_environments.feature_name
and feature_strategies.environment = feature_environments.environment
LEFT JOIN environments ON feature_environments.environment = environments.name
LEFT JOIN feature_strategy_segment as fss ON fss.feature_strategy_id = feature_strategies.id
LEFT JOIN users ON users.id = features.created_by_user_id;
`,
callback,
);
};

exports.down = function (db, callback) {
db.runSql(
`
DROP VIEW features_view;

CREATE VIEW features_view AS
SELECT
features.name as name,
features.description as description,
features.type as type,
features.project as project,
features.stale as stale,
features.impression_data as impression_data,
features.created_at as created_at,
features.archived_at as archived_at,
features.last_seen_at as last_seen_at,
feature_environments.last_seen_at as env_last_seen_at,
feature_environments.enabled as enabled,
feature_environments.environment as environment,
feature_environments.variants as variants,
environments.name as environment_name,
environments.type as environment_type,
environments.sort_order as environment_sort_order,
feature_strategies.id as strategy_id,
feature_strategies.strategy_name as strategy_name,
feature_strategies.parameters as parameters,
feature_strategies.constraints as constraints,
feature_strategies.sort_order as sort_order,
fss.segment_id as segments,
feature_strategies.title as strategy_title,
feature_strategies.disabled as strategy_disabled,
feature_strategies.variants as strategy_variants,
users.id as user_id,
users.name as user_name,
users.username as user_username,
users.email as user_email
FROM
features
LEFT JOIN feature_environments ON feature_environments.feature_name = features.name
LEFT JOIN feature_strategies ON feature_strategies.feature_name = feature_environments.feature_name
and feature_strategies.environment = feature_environments.environment
LEFT JOIN environments ON feature_environments.environment = environments.name
LEFT JOIN feature_strategy_segment as fss ON fss.feature_strategy_id = feature_strategies.id
LEFT JOIN users ON users.id = features.created_by_user_id;
`,
callback,
);
};
Loading