21 lines
1.2 KiB
Markdown
21 lines
1.2 KiB
Markdown
# Architecture
|
|
|
|
Fixture Tools is a relocatable React application with a framework-independent
|
|
TypeScript core. Bounded import adapters turn JSON Schema, SQL DDL, XSD, CSV
|
|
headings, and saved recipes into one normalized model. The editor works only on
|
|
that inert model: imported SQL is never executed, XML entities are rejected,
|
|
and no reference is fetched.
|
|
|
|
Generation starts from a stable text-seeded pseudo-random stream. It creates
|
|
ordinary fields first, applies requested non-reference invalid cases, resolves
|
|
foreign keys against already generated target rows, and finally applies any
|
|
requested foreign-key violations. Uniqueness bookkeeping and a separate
|
|
violation ledger make the valid and negative-test paths explicit. Serializers
|
|
operate over the resulting bounded dataset and enforce an 8 MiB output cap.
|
|
|
|
The app deliberately uses a focused schema subset instead of claiming full
|
|
standards conformance. Limits are 2 MiB per source, 20 tables, 100 fields per
|
|
table, 10,000 rows per table, and 50,000 rows overall. These bounds keep parsing,
|
|
editing, rendering, and download generation responsive in a browser tab. A
|
|
second 100,000-value ceiling prevents wide models from defeating the row limit.
|