gabriel / musehub public
0015_codemap_tables.py python
49 lines 2.1 KB
Raw
sha256:5667a3e21bf16fd2e6d6bd4a769bd1c0cf7634afa12cef6450cc77573196b7f9 asyncpg caps query parameters Human patch 7 days ago
1 """codemap: create musehub_intel_codemap_modules and musehub_intel_codemap_meta
2
3 Stores structural dependency topology derived from stored snapshot objects at
4 push time. ``musehub_intel_codemap_modules`` holds one row per (repo_id,
5 file_path) pair with fan_in, fan_out, and symbol count.
6 ``musehub_intel_codemap_meta`` holds aggregate stats (total edges, cycle count,
7 cycle paths JSON) so the dashboard and stat chips never need to recount.
8
9 Revision ID: 0015
10 Revises: 0014
11 """
12
13 from alembic import op
14 import sqlalchemy as sa
15
16 revision = "0015"
17 down_revision = "0014"
18 branch_labels = None
19 depends_on = None
20
21
22 def upgrade() -> None:
23 op.create_table(
24 "musehub_intel_codemap_modules",
25 sa.Column("repo_id", sa.String(128), sa.ForeignKey("musehub_repos.repo_id", ondelete="CASCADE"), primary_key=True),
26 sa.Column("file_path", sa.String(512), primary_key=True),
27 sa.Column("symbol_count", sa.Integer, nullable=False, server_default="0"),
28 sa.Column("fan_in", sa.Integer, nullable=False, server_default="0"),
29 sa.Column("fan_out", sa.Integer, nullable=False, server_default="0"),
30 sa.Column("language", sa.String(128), nullable=False, server_default=""),
31 sa.Column("ref", sa.String(128), nullable=False),
32 )
33 op.create_index("ix_intel_codemap_modules_repo", "musehub_intel_codemap_modules", ["repo_id"])
34
35 op.create_table(
36 "musehub_intel_codemap_meta",
37 sa.Column("repo_id", sa.String(128), sa.ForeignKey("musehub_repos.repo_id", ondelete="CASCADE"), primary_key=True),
38 sa.Column("total_modules", sa.Integer, nullable=False, server_default="0"),
39 sa.Column("total_edges", sa.Integer, nullable=False, server_default="0"),
40 sa.Column("cycle_count", sa.Integer, nullable=False, server_default="0"),
41 sa.Column("cycles_json", sa.JSON, nullable=True),
42 sa.Column("ref", sa.String(128), nullable=False),
43 )
44
45
46 def downgrade() -> None:
47 op.drop_index("ix_intel_codemap_modules_repo", table_name="musehub_intel_codemap_modules")
48 op.drop_table("musehub_intel_codemap_modules")
49 op.drop_table("musehub_intel_codemap_meta")
File History 1 commit
sha256:5667a3e21bf16fd2e6d6bd4a769bd1c0cf7634afa12cef6450cc77573196b7f9 asyncpg caps query parameters Human patch 7 days ago