Skip to content

feat: Create new table object_audit_log - #384

Open
jiaolong89 wants to merge 5 commits into
masterfrom
auth-registry-audit-log-table
Open

jiaolong89 wants to merge 5 commits into
masterfrom
auth-registry-audit-log-table

Conversation

@jiaolong89

Copy link
Copy Markdown

What this PR does / why we need it:

create new table object_audit_log used for audits on registry operations

Which issue(s) this PR fixes:

Misc

@jiaolong89 jiaolong89 changed the title feat: create new table object_audit_log feat: Create new table object_audit_log Oct 7, 2026
Comment thread sdk/python/feast/infra/registry/sql.py Outdated
Comment thread sdk/python/feast/infra/registry/sql.py Outdated
Comment thread sdk/python/feast/infra/registry/sql.py
Column("project_id", String(255), nullable=False),
Column("object_type", String(50), nullable=False),
Column("object_name", String(255), nullable=False),
Column("operation", String(20), nullable=False), # create | update | delete

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment defines a closed set of values (create | update | delete), but the column accepts any string (same for object_type). For an audit table I'd lean toward a CheckConstraint on operation, or at least shared constants for the follow-up writer PR. That way we don't end up with CREATE/upsert/feature_views variants that forensic queries silently miss.

Comment thread sdk/python/feast/infra/registry/sql.py
sqlite_registry.apply_entity(entity, "test_project")
sqlite_registry.delete_entity("test_entity", "test_project")

with pytest.raises(Exception):

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pytest.raises(Exception) would pass on any error, including an unrelated failure. Can we assert EntityNotFoundException instead?

jiaolong89 and others added 2 commits October 7, 2026 13:29
make id 64-bit

Co-authored-by: piket <timonpike@gmail.com>
use LargeBinary().with_variant(mysql.LONGBLOB, "mysql") for both before_proto and after_proto

Co-authored-by: piket <timonpike@gmail.com>
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

Successfully merging this pull request may close these issues.

2 participants