sqlseed 0.2.1__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sqlseed-0.2.4/.gitignore +125 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/CHANGELOG.md +32 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/CHANGELOG.zh-CN.md +32 -0
- sqlseed-0.2.4/LICENSE +679 -0
- sqlseed-0.2.4/PKG-INFO +1279 -0
- sqlseed-0.2.4/README.md +1213 -0
- sqlseed-0.2.4/README.zh-CN.md +1029 -0
- sqlseed-0.2.4/pyproject.toml +460 -0
- sqlseed-0.2.4/src/sqlseed/AGENTS.md +42 -0
- sqlseed-0.2.4/src/sqlseed/__init__.py +274 -0
- sqlseed-0.2.4/src/sqlseed/_utils/AGENTS.md +26 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/_utils/__init__.py +2 -0
- sqlseed-0.2.4/src/sqlseed/_utils/daemon_task.py +60 -0
- sqlseed-0.2.4/src/sqlseed/_utils/logger.py +67 -0
- sqlseed-0.2.4/src/sqlseed/_utils/metrics.py +80 -0
- sqlseed-0.2.4/src/sqlseed/_utils/paths.py +103 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/_utils/progress.py +144 -56
- sqlseed-0.2.4/src/sqlseed/_utils/sql_safe.py +83 -0
- sqlseed-0.2.4/src/sqlseed/_utils/type_checks.py +17 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/_version.py +2 -0
- sqlseed-0.2.4/src/sqlseed/config/AGENTS.md +35 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/config/__init__.py +12 -1
- sqlseed-0.2.4/src/sqlseed/config/loader.py +186 -0
- sqlseed-0.2.4/src/sqlseed/config/models.py +268 -0
- sqlseed-0.2.4/src/sqlseed/config/snapshot.py +125 -0
- sqlseed-0.2.4/src/sqlseed/core/AGENTS.md +57 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/core/__init__.py +9 -0
- sqlseed-0.2.4/src/sqlseed/core/check_adapt.py +304 -0
- sqlseed-0.2.4/src/sqlseed/core/check_parser.py +505 -0
- sqlseed-0.2.4/src/sqlseed/core/column_dag.py +259 -0
- sqlseed-0.2.4/src/sqlseed/core/constraints.py +279 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/core/enrichment.py +89 -15
- sqlseed-0.2.4/src/sqlseed/core/expression.py +222 -0
- sqlseed-0.2.4/src/sqlseed/core/features.py +462 -0
- sqlseed-0.2.4/src/sqlseed/core/mapper.py +621 -0
- sqlseed-0.2.4/src/sqlseed/core/orchestrator/AGENTS.md +55 -0
- sqlseed-0.2.4/src/sqlseed/core/orchestrator/__init__.py +56 -0
- sqlseed-0.2.4/src/sqlseed/core/orchestrator/_common.py +69 -0
- sqlseed-0.2.4/src/sqlseed/core/orchestrator/_connection.py +244 -0
- sqlseed-0.2.4/src/sqlseed/core/orchestrator/_generation.py +543 -0
- sqlseed-0.2.4/src/sqlseed/core/orchestrator/_query.py +261 -0
- sqlseed-0.2.4/src/sqlseed/core/orchestrator/_self_ref.py +172 -0
- sqlseed-0.2.4/src/sqlseed/core/orchestrator/_session.py +54 -0
- sqlseed-0.2.4/src/sqlseed/core/orchestrator/_specs.py +620 -0
- sqlseed-0.2.4/src/sqlseed/core/plugin_mediator.py +150 -0
- sqlseed-0.2.4/src/sqlseed/core/relation.py +954 -0
- sqlseed-0.2.4/src/sqlseed/core/result.py +44 -0
- sqlseed-0.2.4/src/sqlseed/core/schema.py +271 -0
- sqlseed-0.2.4/src/sqlseed/core/schema_fallback.py +202 -0
- sqlseed-0.2.4/src/sqlseed/core/schema_metadata.py +68 -0
- sqlseed-0.2.4/src/sqlseed/core/stream.py +931 -0
- sqlseed-0.2.4/src/sqlseed/core/transform.py +45 -0
- sqlseed-0.2.4/src/sqlseed/core/unique_adjuster.py +373 -0
- sqlseed-0.2.4/src/sqlseed/database/AGENTS.md +53 -0
- sqlseed-0.2.4/src/sqlseed/database/__init__.py +43 -0
- sqlseed-0.2.4/src/sqlseed/database/_base_adapter.py +206 -0
- sqlseed-0.2.4/src/sqlseed/database/_bulk_optimizer.py +171 -0
- sqlseed-0.2.4/src/sqlseed/database/_dialect.py +227 -0
- sqlseed-0.2.4/src/sqlseed/database/_helpers.py +152 -0
- sqlseed-0.2.4/src/sqlseed/database/_protocol.py +186 -0
- sqlseed-0.2.4/src/sqlseed/database/_sqlite_schema.py +133 -0
- sqlseed-0.2.4/src/sqlseed/database/_type_normalizer.py +158 -0
- sqlseed-0.2.4/src/sqlseed/database/_unique_keys.py +66 -0
- sqlseed-0.2.4/src/sqlseed/database/_value_normalizer.py +75 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/database/optimizer.py +53 -0
- sqlseed-0.2.4/src/sqlseed/database/raw_sqlite_adapter.py +344 -0
- sqlseed-0.2.4/src/sqlseed/database/sqlalchemy_adapter.py +1143 -0
- sqlseed-0.2.4/src/sqlseed/generators/AGENTS.md +34 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/generators/__init__.py +2 -2
- sqlseed-0.2.4/src/sqlseed/generators/_datetime_methods.py +127 -0
- sqlseed-0.2.4/src/sqlseed/generators/_datetime_utils.py +216 -0
- sqlseed-0.2.4/src/sqlseed/generators/_dispatch.py +150 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/generators/_json_helpers.py +39 -9
- sqlseed-0.2.4/src/sqlseed/generators/_native_provider.py +35 -0
- sqlseed-0.2.4/src/sqlseed/generators/_protocol.py +68 -0
- sqlseed-0.2.4/src/sqlseed/generators/_string_helpers.py +56 -0
- sqlseed-0.2.4/src/sqlseed/generators/base_provider.py +581 -0
- sqlseed-0.2.4/src/sqlseed/generators/faker_provider.py +246 -0
- sqlseed-0.2.4/src/sqlseed/generators/mimesis_provider.py +208 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/generators/registry.py +63 -11
- sqlseed-0.2.4/src/sqlseed/plugins/AGENTS.md +28 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/plugins/__init__.py +2 -0
- sqlseed-0.2.4/src/sqlseed/plugins/hookspecs.py +178 -0
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/plugins/manager.py +20 -0
- sqlseed-0.2.1/.gitignore +0 -70
- sqlseed-0.2.1/LICENSE +0 -17
- sqlseed-0.2.1/PKG-INFO +0 -1098
- sqlseed-0.2.1/README.md +0 -1038
- sqlseed-0.2.1/README.zh-CN.md +0 -846
- sqlseed-0.2.1/examples/build_demo_db.py +0 -233
- sqlseed-0.2.1/examples/notebooks/01-quickstart.ipynb +0 -1314
- sqlseed-0.2.1/examples/notebooks/02-column-mapping.ipynb +0 -1437
- sqlseed-0.2.1/examples/notebooks/03-generators.ipynb +0 -1025
- sqlseed-0.2.1/examples/notebooks/04-database-advanced.ipynb +0 -1019
- sqlseed-0.2.1/examples/notebooks/05-dag-and-constraints.ipynb +0 -833
- sqlseed-0.2.1/examples/notebooks/06-config-deep-dive.ipynb +0 -1247
- sqlseed-0.2.1/examples/notebooks/07-ai-plugin.ipynb +0 -630
- sqlseed-0.2.1/examples/notebooks/08-mcp-server.ipynb +0 -595
- sqlseed-0.2.1/examples/notebooks/09-plugin-hooks.ipynb +0 -634
- sqlseed-0.2.1/examples/notebooks/10-cli-reference.ipynb +0 -785
- sqlseed-0.2.1/examples/notebooks/11-utilities.ipynb +0 -542
- sqlseed-0.2.1/examples/notebooks/12-testing-patterns.ipynb +0 -729
- sqlseed-0.2.1/pyproject.toml +0 -140
- sqlseed-0.2.1/scripts/_create_demo_db.py +0 -52
- sqlseed-0.2.1/scripts/quickstart.py +0 -179
- sqlseed-0.2.1/src/sqlseed/__init__.py +0 -158
- sqlseed-0.2.1/src/sqlseed/_utils/logger.py +0 -35
- sqlseed-0.2.1/src/sqlseed/_utils/metrics.py +0 -45
- sqlseed-0.2.1/src/sqlseed/_utils/paths.py +0 -41
- sqlseed-0.2.1/src/sqlseed/_utils/schema_helpers.py +0 -57
- sqlseed-0.2.1/src/sqlseed/_utils/sql_safe.py +0 -58
- sqlseed-0.2.1/src/sqlseed/cli/__init__.py +0 -5
- sqlseed-0.2.1/src/sqlseed/cli/main.py +0 -533
- sqlseed-0.2.1/src/sqlseed/config/loader.py +0 -79
- sqlseed-0.2.1/src/sqlseed/config/models.py +0 -141
- sqlseed-0.2.1/src/sqlseed/config/snapshot.py +0 -86
- sqlseed-0.2.1/src/sqlseed/core/column_dag.py +0 -130
- sqlseed-0.2.1/src/sqlseed/core/constraints.py +0 -142
- sqlseed-0.2.1/src/sqlseed/core/expression.py +0 -89
- sqlseed-0.2.1/src/sqlseed/core/mapper.py +0 -347
- sqlseed-0.2.1/src/sqlseed/core/orchestrator.py +0 -623
- sqlseed-0.2.1/src/sqlseed/core/plugin_mediator.py +0 -213
- sqlseed-0.2.1/src/sqlseed/core/relation.py +0 -390
- sqlseed-0.2.1/src/sqlseed/core/result.py +0 -23
- sqlseed-0.2.1/src/sqlseed/core/schema.py +0 -131
- sqlseed-0.2.1/src/sqlseed/core/transform.py +0 -27
- sqlseed-0.2.1/src/sqlseed/core/unique_adjuster.py +0 -145
- sqlseed-0.2.1/src/sqlseed/database/__init__.py +0 -16
- sqlseed-0.2.1/src/sqlseed/database/_base_adapter.py +0 -87
- sqlseed-0.2.1/src/sqlseed/database/_compat.py +0 -35
- sqlseed-0.2.1/src/sqlseed/database/_helpers.py +0 -70
- sqlseed-0.2.1/src/sqlseed/database/_protocol.py +0 -74
- sqlseed-0.2.1/src/sqlseed/database/raw_sqlite_adapter.py +0 -146
- sqlseed-0.2.1/src/sqlseed/database/sqlite_utils_adapter.py +0 -152
- sqlseed-0.2.1/src/sqlseed/generators/_dispatch.py +0 -48
- sqlseed-0.2.1/src/sqlseed/generators/_protocol.py +0 -30
- sqlseed-0.2.1/src/sqlseed/generators/_string_helpers.py +0 -31
- sqlseed-0.2.1/src/sqlseed/generators/base_provider.py +0 -678
- sqlseed-0.2.1/src/sqlseed/generators/faker_provider.py +0 -147
- sqlseed-0.2.1/src/sqlseed/generators/mimesis_provider.py +0 -162
- sqlseed-0.2.1/src/sqlseed/generators/stream.py +0 -278
- sqlseed-0.2.1/src/sqlseed/plugins/hookspecs.py +0 -119
- sqlseed-0.2.1/uv.lock +0 -1593
- {sqlseed-0.2.1 → sqlseed-0.2.4}/src/sqlseed/py.typed +0 -0
sqlseed-0.2.4/.gitignore
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
build/
|
|
8
|
+
develop-eggs/
|
|
9
|
+
dist/
|
|
10
|
+
downloads/
|
|
11
|
+
eggs/
|
|
12
|
+
.eggs/
|
|
13
|
+
lib/
|
|
14
|
+
lib64/
|
|
15
|
+
parts/
|
|
16
|
+
sdist/
|
|
17
|
+
var/
|
|
18
|
+
wheels/
|
|
19
|
+
*.egg-info/
|
|
20
|
+
.installed.cfg
|
|
21
|
+
*.egg
|
|
22
|
+
*.whl
|
|
23
|
+
*.tar.gz
|
|
24
|
+
|
|
25
|
+
# Virtual Environment
|
|
26
|
+
.venv/
|
|
27
|
+
venv/
|
|
28
|
+
env/
|
|
29
|
+
ENV/
|
|
30
|
+
|
|
31
|
+
# IDE
|
|
32
|
+
.vscode/
|
|
33
|
+
.idea/
|
|
34
|
+
.trae/
|
|
35
|
+
.claude/
|
|
36
|
+
.gemini/
|
|
37
|
+
.sonarlint/
|
|
38
|
+
*.swp
|
|
39
|
+
*.swo
|
|
40
|
+
*~
|
|
41
|
+
|
|
42
|
+
# Testing & Quality
|
|
43
|
+
.pytest_cache/
|
|
44
|
+
.benchmarks/
|
|
45
|
+
.coverage
|
|
46
|
+
coverage.xml
|
|
47
|
+
htmlcov/
|
|
48
|
+
.mutmut-cache
|
|
49
|
+
mutmut_*.log
|
|
50
|
+
mutmut_results_*.txt
|
|
51
|
+
.mypy_cache/
|
|
52
|
+
.dmypy.json
|
|
53
|
+
dmypy.json
|
|
54
|
+
.ruff_cache/
|
|
55
|
+
.hypothesis/
|
|
56
|
+
.import_linter_cache/
|
|
57
|
+
|
|
58
|
+
# sqlseed
|
|
59
|
+
*.db
|
|
60
|
+
*.sqlite
|
|
61
|
+
*.sqlite3
|
|
62
|
+
.sqlseed_cache/
|
|
63
|
+
snapshots/
|
|
64
|
+
.env
|
|
65
|
+
# validation harness scratch artifacts
|
|
66
|
+
scripts/complex_validation/dbs/_*.yaml
|
|
67
|
+
examples/notebooks/_*.yaml
|
|
68
|
+
examples/notebooks/_*.json
|
|
69
|
+
examples/notebooks/batch_config.yaml
|
|
70
|
+
*.nbconvert.ipynb
|
|
71
|
+
.ipynb_checkpoints/
|
|
72
|
+
|
|
73
|
+
# AI-generated config outputs
|
|
74
|
+
*_config.yaml
|
|
75
|
+
ai_analyze_out.yaml
|
|
76
|
+
ai_suggest_out/
|
|
77
|
+
out.yaml
|
|
78
|
+
full_config_v2.yaml
|
|
79
|
+
products_order_items.yaml
|
|
80
|
+
test_merchants.yaml
|
|
81
|
+
|
|
82
|
+
# OS
|
|
83
|
+
.DS_Store
|
|
84
|
+
|
|
85
|
+
# AI agent work directories
|
|
86
|
+
.agents/
|
|
87
|
+
|
|
88
|
+
# Other
|
|
89
|
+
.worktrees/
|
|
90
|
+
.sisyphus/
|
|
91
|
+
|
|
92
|
+
# IDE knowledge graph cache (local only)
|
|
93
|
+
.understand-anything/
|
|
94
|
+
|
|
95
|
+
# AI batch edit scripts (one-shot, not for repo)
|
|
96
|
+
.edits/
|
|
97
|
+
_edit_helper.py
|
|
98
|
+
|
|
99
|
+
# Local agent tool cache (not for repo)
|
|
100
|
+
.omo/
|
|
101
|
+
|
|
102
|
+
# Node.js (for ctxlint)
|
|
103
|
+
node_modules/
|
|
104
|
+
|
|
105
|
+
# mkdocs build output (deployed via GitHub Actions, not committed)
|
|
106
|
+
site/
|
|
107
|
+
|
|
108
|
+
# CodeFlow warning/issue reports (local analysis artifacts, not for repo)
|
|
109
|
+
codeflow-warnings*.md
|
|
110
|
+
codeflow_issues_report.md
|
|
111
|
+
|
|
112
|
+
# Temporary tool outputs (not for repo)
|
|
113
|
+
test.log
|
|
114
|
+
.understand-anything/
|
|
115
|
+
.playwright-mcp/
|
|
116
|
+
|
|
117
|
+
# LLM validation loop engineering (temporary, not committed)
|
|
118
|
+
scripts/_*.py
|
|
119
|
+
data_quality_demo/*.db
|
|
120
|
+
data_quality_demo/*.log
|
|
121
|
+
data_quality_demo/*_config.yaml
|
|
122
|
+
data_quality_demo/*_config_v*.yaml
|
|
123
|
+
data_quality_demo/_*.json
|
|
124
|
+
data_quality_demo/_report_*.md
|
|
125
|
+
data_quality_demo/_phase1_catalog.md
|
|
@@ -7,6 +7,38 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
8
8
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
9
9
|
|
|
10
|
+
## [Unreleased]
|
|
11
|
+
|
|
12
|
+
## [0.2.4] - 2026-09-13
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Ship the Web workbench as `sqlseed-web`, with schema graphs, column rules, previews, multi-table generation, saved configurations and run history. AI remains optional.
|
|
17
|
+
- Add CHECK-aware generator adaptation, foreign-key coverage strategies and coordinated self-reference generation. PostgreSQL uses the SQLAlchemy adapter and psycopg driver.
|
|
18
|
+
- Add contract-driven AI validation and repair with bounded model calls, deterministic fallbacks and separate AI MCP tools.
|
|
19
|
+
- Add automatic post-upload PyPI acceptance for fresh full wheel, minimal Core/Web and full sdist installations, including source hashes and real SQLite entry-point checks.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Deliver offline Core, CLI, AI, Core MCP and Web as five packages at version 0.2.4. Install `sqlseed-cli` for the `sqlseed` command; the Core package provides the Python API. See the [migration guide](docs/migration.md) for changes from 0.2.3.
|
|
24
|
+
- Keep sibling dependencies in the compatible `>=0.2.4.dev0,<0.3` series. Use matching released versions or a single development artifact set.
|
|
25
|
+
- Core MCP exposes two offline tools. Launch `mcp-server-sqlseed-ai` separately for the four AI tools; installing the AI package does not add tools to the Core MCP process.
|
|
26
|
+
- Refresh English and Chinese READMEs, user and API guides, package metadata and documentation links. Include the complete AGPL-3.0-or-later license text in all five distributions.
|
|
27
|
+
- Deploy GitHub Pages after all main CI jobs succeed; publish Python packages through a separate version-tagged release workflow.
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- Preserve JSON document values through typed database inserts and accept valid ISO temporal values without double encoding JSON or rejecting compatible SQLite date configurations.
|
|
32
|
+
- Identify self-referencing rows by their complete primary key and check complete ordinary UNIQUE keys when assigning parent references; partial and expression indexes remain enforced by the database.
|
|
33
|
+
- Preserve explicit generation constraints, handle existing UNIQUE values during appends and enforce CHECK ranges without silently replacing conflicting user rules.
|
|
34
|
+
- Close SQLite resources and clean up Web workers on failures, including Windows path and macOS process-cleanup cases.
|
|
35
|
+
- Keep AI MCP progress output out of the stdio JSON-RPC stream and enforce AI healing time budgets.
|
|
36
|
+
|
|
37
|
+
### Compatibility
|
|
38
|
+
|
|
39
|
+
- Migrate old `sqlseed.cli` imports and MCP client tool selections before upgrading. Core 0.2.3 cannot be combined with the new plugins.
|
|
40
|
+
- Ordinary batched fills can retain earlier committed batches after a later failure; inspect the returned count and errors. PostgreSQL composite and cross-schema foreign-key generation still has limitations described in the migration guide.
|
|
41
|
+
|
|
10
42
|
## [v0.1.20]
|
|
11
43
|
|
|
12
44
|
### Changed
|
|
@@ -7,6 +7,38 @@
|
|
|
7
7
|
格式基于 [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
8
8
|
本项目遵循[语义化版本](https://semver.org/spec/v2.0.0.html)。
|
|
9
9
|
|
|
10
|
+
## [Unreleased]
|
|
11
|
+
|
|
12
|
+
## [0.2.4] - 2026-09-13
|
|
13
|
+
|
|
14
|
+
### 新增
|
|
15
|
+
|
|
16
|
+
- 通过 `sqlseed-web` 交付 Web 工作台,支持 schema 关系图、字段规则、预览、多表生成、配置保存与运行记录;AI 仍为可选能力。
|
|
17
|
+
- 增加 CHECK 驱动的生成器适配、外键覆盖策略与自引用协调生成;PostgreSQL 使用 SQLAlchemy adapter 和 psycopg 驱动。
|
|
18
|
+
- 增加基于 contract 的 AI 校验与修复,包含有界模型调用、确定性降级和独立 AI MCP 工具。
|
|
19
|
+
- 增加上传后自动执行的正式 PyPI 验收,覆盖全量 wheel、仅 Core/Web 和全量 sdist 的新环境安装,核验文件来源哈希并通过真实入口生成 SQLite 数据。
|
|
20
|
+
|
|
21
|
+
### 变更
|
|
22
|
+
|
|
23
|
+
- 离线 Core、CLI、AI、Core MCP 与 Web 以统一 0.2.4 版本五包交付。`sqlseed` 命令需要安装 `sqlseed-cli`;Core 提供 Python API。从 0.2.3 升级前请阅读[迁移指南](docs/migration.zh-CN.md)。
|
|
24
|
+
- 兄弟包依赖保持在兼容的 `>=0.2.4.dev0,<0.3` 系列;使用匹配的正式版本或同一组开发构建产物。
|
|
25
|
+
- Core MCP 提供两个离线工具;四个 AI 工具通过独立的 `mcp-server-sqlseed-ai` 进程提供,安装 AI 包不会向 Core MCP 进程注入工具。
|
|
26
|
+
- 更新中英文 README、用户与 API 指南、包元数据和文档链接;五包分发物均包含完整的 AGPL-3.0-or-later 许可证正文。
|
|
27
|
+
- main 全部 CI 任务成功后部署 GitHub Pages;Python 包通过独立、基于版本 tag 的发布流程上传。
|
|
28
|
+
|
|
29
|
+
### 修复
|
|
30
|
+
|
|
31
|
+
- 保留类型绑定写入中的 JSON 文档语义,支持合法 ISO 日期时间输入,避免 JSON 双重编码和旧 SQLite 日期配置失效。
|
|
32
|
+
- 自引用父节点更新使用完整主键,并检查完整普通 UNIQUE 键;partial/expression index 仍由数据库执行约束。
|
|
33
|
+
- 保留用户显式生成约束,追加数据时处理既有 UNIQUE 值,适配 CHECK 范围且不静默替换冲突规则。
|
|
34
|
+
- 关闭 SQLite 资源并在失败时清理 Web worker,处理 Windows 路径与 macOS 进程清理问题。
|
|
35
|
+
- AI MCP 的进度输出不再进入 stdio JSON-RPC 协议流,并严格执行 AI 修复时间预算。
|
|
36
|
+
|
|
37
|
+
### 兼容性
|
|
38
|
+
|
|
39
|
+
- 升级前迁移旧 `sqlseed.cli` 导入和 MCP 客户端工具选择;Core 0.2.3 不能与新插件混用。
|
|
40
|
+
- 普通批量填充在后续批次失败时可能保留此前已提交的数据,应检查返回的 count 和 errors。PostgreSQL 复合与跨 schema 外键生成仍有限制,详见迁移指南。
|
|
41
|
+
|
|
10
42
|
## [v0.1.20]
|
|
11
43
|
|
|
12
44
|
### 变更
|