Skip to content
Open
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
2 changes: 1 addition & 1 deletion migrations_lockfile.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ replays: 0007_organizationmember_replay_access

seer: 0010_drop_legacy_columns

sentry: 1080_backfill_deprecated_dashboard_widget_display_types
sentry: 1081_remove_dashboardlastvisited

social_auth: 0003_social_auth_json_field

Expand Down
3 changes: 0 additions & 3 deletions src/sentry/backup/comparators.py
Original file line number Diff line number Diff line change
Expand Up @@ -856,9 +856,6 @@ def get_default_comparators() -> dict[str, list[JSONScrubbingComparator]]:
"sentry.dashboardfavoriteuser": [
DateUpdatedComparator("date_added", "date_updated"),
],
"sentry.dashboardlastvisited": [
DateUpdatedComparator("last_visited", "date_added", "date_updated"),
],
"sentry.dashboardrevision": [
DateUpdatedComparator("date_added", "date_updated"),
],
Expand Down
40 changes: 40 additions & 0 deletions src/sentry/migrations/1081_remove_dashboardlastvisited.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import django.db.models.deletion
import sentry.db.models.fields.foreignkey
from django.db import migrations

from sentry.new_migrations.migrations import CheckedMigration
from sentry.new_migrations.monkey.models import SafeDeleteModel
from sentry.new_migrations.monkey.state import DeletionAction


class Migration(CheckedMigration):
is_post_deployment = False

dependencies = [
("sentry", "1080_backfill_deprecated_dashboard_widget_display_types"),
]

operations = [
migrations.AlterField(
model_name="dashboardlastvisited",
name="dashboard",
field=sentry.db.models.fields.foreignkey.FlexibleForeignKey(
db_constraint=False,
on_delete=django.db.models.deletion.CASCADE,
to="sentry.dashboard",
),
),
migrations.AlterField(
model_name="dashboardlastvisited",
name="member",
field=sentry.db.models.fields.foreignkey.FlexibleForeignKey(
db_constraint=False,
on_delete=django.db.models.deletion.CASCADE,
to="sentry.organizationmember",
),
),
SafeDeleteModel(
name="DashboardLastVisited",
deletion_action=DeletionAction.MOVE_TO_PENDING,
),
]
20 changes: 0 additions & 20 deletions src/sentry/models/dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -435,23 +435,3 @@ def create_for_dashboard(
if old_revision_ids:
cls.objects.filter(id__in=old_revision_ids).delete()
return revision


@cell_silo_model
class DashboardLastVisited(DefaultFieldsModel):
__relocation_scope__ = RelocationScope.Organization

dashboard = FlexibleForeignKey("sentry.Dashboard", on_delete=models.CASCADE)
member = FlexibleForeignKey("sentry.OrganizationMember", on_delete=models.CASCADE)

last_visited = models.DateTimeField(null=False, default=timezone.now)

class Meta:
app_label = "sentry"
db_table = "sentry_dashboardlastvisited"
constraints = [
UniqueConstraint(
fields=["member_id", "dashboard_id"],
name="sentry_dashboardlastvisited_unique_last_visited_per_org_member",
)
]
6 changes: 0 additions & 6 deletions src/sentry/testutils/helpers/backups.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@
from sentry.models.dashboard import (
Dashboard,
DashboardFavoriteUser,
DashboardLastVisited,
DashboardRevision,
)
from sentry.models.dashboard_permissions import DashboardPermissions
Expand Down Expand Up @@ -572,11 +571,6 @@ def create_exhaustive_organization(
user_id=owner_id,
organization=org,
)
DashboardLastVisited.objects.create(
dashboard=dashboard,
member=invited,
last_visited=timezone.now(),
)
permissions = DashboardPermissions.objects.create(
is_editable_by_everyone=True, dashboard=dashboard
)
Expand Down
Loading