Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问clear审计未展示

db-schema-manager数据库模式管理器

Agent Skill

db-schema-manager 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

533

周安装

22

GitHub Stars

公开资料未说明

下载量

174
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:db-schema-manager(数据库模式管理器)
来源仓库:https://github.com/psh355q-ui/szdi57465yt
仓库路径:skills/db-schema-manager
安装命令:
npx skills add psh355q-ui/szdi57465yt --skill "db-schema-manager"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add psh355q-ui/szdi57465yt --skill "db-schema-manager"

简介

用于数据库模式相关的查找、检索和筛选,支持结构化数据管理。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中辅助数据库设计与分析任务。
  • 可结合来源仓库和 README 进一步验证功能细节。
  • 安装命令:npx skills add psh355q-ui/szdi57465yt --skill "db-schema-manager"。
  • 建议确认权限范围及是否会触发敏感操作后再部署使用。

SKILL.md

name
db-schema-manager
description
|
allowed-tools

DB Schema Manager

단일 진실의 소스(Single Source of Truth)로 모든 DB 테이블 스키마를 관리합니다.

⚠️ 통합 참조 문서: 모든 DB 작업 표준은 database_standards.md를 참조하세요. db-schema-manager는 스키마 정의 및 검증을 담당하고, database_standards.md는 전체 DB 사용 규칙을 정의합니다.

🎯 핵심 기능

  1. 스키마 정의: 모든 테이블을 JSON으로 명확히 정의
  2. 데이터 검증: 삽입 전 스키마 준수 확인
  3. 스키마 비교: DB 실제 구조와 정의 비교
  4. 마이그레이션: SQL 마이그레이션 자동 생성

📚 관리 중인 테이블 (5개)

테이블카테고리Repository용도
stock_prices시계열StockRepository주가 OHLCV 데이터
news_articles콘텐츠NewsRepository뉴스 기사
trading_signals트레이딩SignalRepositoryAI 매매 시그널
data_collection_progress추적DataCollectionRepository백필 작업 추적
dividend_aristocrats배당DividendRepository배당 귀족주

🤖 AI 개발 도구 통합

코드 작성 시 자동 검증

VSCode / Antigravity / Claude: DB 관련 코드를 작성하거나 검토할 때:

  1. 새 테이블 추가 시:
   # 1단계: 스키마 먼저 작성
   cat schemas/{table_name}.json
   
   # 2단계: 검증
   python scripts/validate_schema.py {table_name}
   
   # 3단계: SQL 생성
   python scripts/generate_migration.py {table_name}
  1. 데이터 저장 전 검증:
   python scripts/validate_data.py {table_name} '{...json_data...}'
  1. 스키마 동기화 확인:
   python scripts/compare_to_db.py {table_name}

필수 확인사항

코드 작성 전:

  • schemas/{table}.json 파일 존재 여부
  • database_standards.md의 네이밍 규칙 준수
  • Repository 패턴 사용 여부 (backend.database.repository 확인)

절대 금지 (Zero Tolerance):

  • 직접 SQL 작성 금지: SELECT, INSERT 등 raw SQL 사용 적발 시 즉시 거부
  • Legacy Driver 사용 금지: psycopg2.connect() / asyncpg.connect() 직접 호출 시 즉시 거부
  • 스키마 우회 금지: models.py에 정의되지 않은 컬럼 사용 금지
  • Repository 우회 금지: session 객체를 직접 생성하여 사용하는 행위 금지 (get_sync_session 또는 Repository 활용)

🚀 Quick Start

스키마 확인

# 특정 테이블 스키마 보기
cat schemas/dividend_aristocrats.json

# 모든 테이블 나열
ls schemas/

데이터 검증 (삽입 전)

python scripts/validate_data.py dividend_aristocrats '{
  "ticker": "JNJ",
  "company_name": "Johnson & Johnson",
  "consecutive_years": 61,
  "sector": "Healthcare"
}'

성공: ✅ Validation passed 실패: 누락/잘못된 필드 나열

DB와 스키마 비교

# 특정 테이블 비교
python scripts/compare_to_db.py dividend_aristocrats

# 모든 테이블 검사
python scripts/compare_to_db.py --all

📄 스키마 파일 형식

각 테이블은 schemas/{table_name}.json 파일로 정의됩니다:

{
  "table_name": "dividend_aristocrats",
  "description": "배당 귀족주 (25+ 연속 배당 증가)",
  "primary_key": "ticker",
  "columns": [
    {
      "name": "ticker",
      "type": "VARCHAR(10)",
      "nullable": false,
      "description": "종목 코드",
      "example": "JNJ"
    },
    {
      "name": "company_name",
      "type": "VARCHAR(200)",
      "nullable": false,
      "description": "회사 이름"
    },
    {
      "name": "consecutive_years",
      "type": "INTEGER",
      "nullable": false,
      "description": "연속 배당 증가 연수"
    }
  ],
  "indexes": [
    {
      "name": "idx_aristocrat_ticker",
      "columns": ["ticker"],
      "unique": true
    }
  ],
  "metadata": {
    "phase": "Phase 21",
    "created": "2025-12-25",
    "update_frequency": "Annually (March 1)"
  }
}

📋 사용 패턴

1. 새 테이블 설계 확인

# 스키마 파일이 올바른지 검증
python scripts/validate_schema.py new_table

# 통과하면 마이그레이션 SQL 생성
python scripts/generate_migration.py new_table

2. 데이터 삽입 전 검증

Why: DB에 잘못된 데이터가 들어가는 것을 사전에 방지

# Python 코드에서 사용 예시
import subprocess
import json

data = {
    "ticker": "JNJ",
    "company_name": "Johnson & Johnson",
    "consecutive_years": 61
}

# 검증 스크립트 실행
result = subprocess.run(
    ["python", "scripts/validate_data.py", "dividend_aristocrats", json.dumps(data)],
    capture_output=True,
    text=True
)

if result.returncode == 0:
    print("✅ Valid - proceed to insert")
    # db.insert(data)
else:
    print(f"❌ Invalid:\n{result.stdout}")

3. 스키마 불일치 발견

Why: 코드의 모델이 실제 DB와 다를 수 있음

# 모든 테이블 검사
python scripts/compare_to_db.py --all

출력 예시:

✅ dividend_aristocrats: Schema matches!
❌ news_articles: Schema mismatch!
  ❌ Missing columns in DB: {'sentiment_score'}
  ⚠️  Extra columns in DB: {'old_field'}
  ❌ Type mismatch for published_at: defined=TIMESTAMP, actual=DATE

🔍 스키마 탐색

모든 테이블 찾기

ls schemas/*.json | sed 's/schemas\///' | sed 's/.json//'

특정 컬럼을 가진 테이블 찾기

grep -l '"name": "ticker"' schemas/*.json

테이블 메타데이터 확인

# Phase 21에 속한 테이블 찾기
grep -l '"phase": "Phase 21"' schemas/*.json

🛠️ 스크립트 상세

scripts/validate_data.py

목적: 데이터가 스키마를 만족하는지 검증

사용:

python scripts/validate_data.py <table_name> '<json_data>'

예시:

python scripts/validate_data.py dividend_aristocrats '{
  "ticker": "AAPL",
  "company_name": "Apple Inc.",
  "consecutive_years": 11
}'

Pydantic 사용: JSON 스키마 → Pydantic 모델 변환하여 타입 검증

scripts/compare_to_db.py

목적: 정의된 스키마와 실제 DB 비교

사용:

python scripts/compare_to_db.py <table_name>
python scripts/compare_to_db.py --all

확인 사항:

  • 누락된 컬럼
  • 추가 컬럼 (정의에 없음)
  • 타입 불일치
  • Nullable 속성 차이

scripts/generate_migration.py

목적: 스키마 정의에서 SQL 마이그레이션 생성

사용:

python scripts/generate_migration.py <table_name>

출력: CREATE TABLE, CREATE INDEX SQL

scripts/validate_schema.py

목적: JSON 스키마 파일 자체가 올바른지 검증

사용:

python scripts/validate_schema.py <table_name>

확인 사항:

  • 필수 필드 존재 (table_name, columns)
  • 타입 유효성 (VARCHAR, INTEGER 등)
  • Primary key 정의
  • JSON 구문 오류

📚 추가 문서


🎓 예제 시나리오

Scenario 1: 새 테이블 추가

User: "DividendHistory 테이블을 추가하고 싶어"

Claude:
1. templates/new_table_template.json 복사
2. 사용자와 함께 스키마 정의
3. validate_schema.py로 검증
4. generate_migration.py로 SQL 생성
5. SQL 실행하여 테이블 생성

Scenario 2: 데이터 검증 실패

User: "이 데이터를 dividend_aristocrats에 넣어줘"
Data: {"ticker": "AAPL", "consecutive_years": "invalid"}

Claude:
1. Read schemas/dividend_aristocrats.json
2. Run validate_data.py
3. 결과: ❌ Validation failed: consecutive_years must be integer
4. 사용자에게 수정 요청

Scenario 3: 스키마 불일치 해결

User: "왜 DividendAristocrat 모델이 DB와 안 맞아?"

Claude:
1. Run compare_to_db.py dividend_aristocrats
2. 불일치 발견: Missing columns: payout_ratio, market_cap
3. 설명: "models.py가 구버전입니다. DB는 18개 컬럼, 모델은 11개"
4. 제안: "models.py를 schemas/dividend_aristocrats.json 기준으로 업데이트하시겠어요?"

⚡ 빠른 참조

명령어용도
cat schemas/<table>.json스키마 확인
python scripts/validate_data.py <table> '<data>'데이터 검증
python scripts/compare_to_db.py <table>DB 비교
python scripts/generate_migration.py <table>SQL 생성
ls schemas/*.json모든 테이블 나열

Version: 1.0.0 Last Updated: 2025-12-25 Maintainer: AI Trading System Team

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

trae

31.26%
按下载量换算54

Claude Code

19.97%
按下载量换算35

windsurf

19.05%
按下载量换算33

OpenCode

12.5%
按下载量换算22

Cursor

8.21%
按下载量换算14

Codex

3.65%
按下载量换算6

安全审计

暂无安全审计结果可展示。

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add psh355q-ui/szdi57465yt --skill "db-schema-manager" 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills