{"version":1,"pages":[{"id":"SpuAG9Pa6UzLfNKdtenO","title":"Ent Framework","pathname":"/","siteSpaceId":"sitesp_TF4wg","description":""},{"id":"o94q1lPGDxzAppyCQgDJ","title":"Code Structure","pathname":"/getting-started/preamble","siteSpaceId":"sitesp_TF4wg","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"4QU0wnZ1g0aF2UXL4B3l","title":"Connect to a Database","pathname":"/getting-started/connect-to-a-database","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"1uCYWZI3g7bmSKJl9vny","title":"Create Ent Classes","pathname":"/getting-started/create-ent-classes","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"SjbgB1863hpIOjP3Ns69","title":"VC: Viewer Context and Principal","pathname":"/getting-started/vc-viewer-context-and-principal","siteSpaceId":"sitesp_TF4wg","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"o2GK857qreT03kWPLeQt","title":"Ent API: insert*()","pathname":"/getting-started/ent-api-insert","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"x9nWymOz5qKmt0mcSL2O","title":"Built-in Field Types","pathname":"/getting-started/built-in-field-types","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"9D6Qsy1VeP8t1K4aF8gw","title":"Ent API: load*() by ID","pathname":"/getting-started/ent-api-load-by-id","siteSpaceId":"sitesp_TF4wg","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"HGqdUwXLLQjDwbYAmQXO","title":"N+1 Selects Solution","pathname":"/getting-started/n+1-selects-solution","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"L8xDgJZ7Egkw6RniuOjr","title":"Automatic Batching Examples","pathname":"/getting-started/automatic-batching-examples","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"SiRrpGTNkZWwnQzOTwFJ","title":"Ent API: select() by Expression","pathname":"/getting-started/ent-api-select-by-expression","siteSpaceId":"sitesp_TF4wg","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"2W9rmvA6kIbmtFMc7WLf","title":"Ent API: loadBy*() Unique Key","pathname":"/getting-started/ent-api-loadby-unique-key","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"EHApcNOND9wwMIe1NGQJ","title":"Ent API: update*()","pathname":"/getting-started/ent-api-update","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"f4rWufAD9o6LdIKXSpNM","title":"Ent API: deleteOriginal()","pathname":"/getting-started/ent-api-deleteoriginal","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"AbcqyeSlOGtSQLToXRAx","title":"Ent API: count() by Expression","pathname":"/getting-started/ent-api-count-by-expression","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"XfVHECVfQZ0HgvHPkvFT","title":"Ent API: exists() by Expression","pathname":"/getting-started/ent-api-exists-by-expression","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"0xhTqbIdddbDpoUiKzg7","title":"Ent API: selectBy() Unique Key Prefix","pathname":"/getting-started/ent-api-selectby-unique-key-prefix","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"e32Mq5dux4K5aMiWU6SG","title":"Ent API: upsert*()","pathname":"/getting-started/ent-api-upsert","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"Ea1erE8NrvJkzs41wOd6","title":"Privacy Rules","pathname":"/getting-started/privacy-rules","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"Je03WbYl7KiLiNrBnMKf","title":"Validators","pathname":"/getting-started/validators","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"hcoi62nG6BDU9LJAM3bE","title":"Triggers","pathname":"/getting-started/triggers","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"05UZ44mjyfabZnuevqwM","title":"Custom Field Types","pathname":"/getting-started/custom-field-types","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Getting Started"}]},{"id":"WouQqnw6442LvklNakjx","title":"Ent API: Configuration and Types","pathname":"/ent-api-configuration-and-types","siteSpaceId":"sitesp_TF4wg"},{"id":"dhNj4CL1XSvM20wPJVPl","title":"Replication and Automatic Lag Tracking","pathname":"/scalability/replication-and-automatic-lag-tracking","siteSpaceId":"sitesp_TF4wg","description":"","breadcrumbs":[{"label":"Scalability"}]},{"id":"YgrFuXFcLscQXanXcRkl","title":"Sharding and Microsharding","pathname":"/scalability/sharding-microsharding","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Scalability"}]},{"id":"AcXBzUWqb1gEgzcQjkCC","title":"Sharding Terminology","pathname":"/scalability/sharding-terminology","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Scalability"}]},{"id":"mNMbrtiUZ9XcdZF9EhpR","title":"Locating a Shard and ID Format","pathname":"/scalability/locating-a-shard-id-format","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Scalability"}]},{"id":"kyg2NkwyfDAZ3IudSH2b","title":"Sharding Low-Level API","pathname":"/scalability/sharding-low-level-api","siteSpaceId":"sitesp_TF4wg","description":"","breadcrumbs":[{"label":"Scalability"}]},{"id":"JnZ7n7BDEZj5rvcvtCEc","title":"Shard Affinity and Ent Colocation","pathname":"/scalability/shard-affinity-ent-colocation","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Scalability"}]},{"id":"k2qVR2UEcbep0OKLUFE5","title":"Inverses and Cross Shard Foreign Keys","pathname":"/scalability/inverses-cross-shard-foreign-keys","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Scalability"}]},{"id":"BiIHm4G7tB2mqJp10INe","title":"Shards Rebalancing and pg-microsharding Tool","pathname":"/scalability/shards-rebalancing-and-pg-microsharding-tool","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Scalability"}]},{"id":"qLsZFviz5WclmF9kKC8E","title":"Connection Pooling","pathname":"/scalability/connection-pooling","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Scalability"}]},{"id":"OMwkwm2hSwEPidWtWLVx","title":"Database Migrations and pg-mig Tool","pathname":"/advanced/database-schema-migrations","siteSpaceId":"sitesp_TF4wg","description":"","breadcrumbs":[{"label":"Advanced"}]},{"id":"nGvpcqd9t6Ge95NNiSZQ","title":"Ephemeral (Symbol) Fields","pathname":"/advanced/ephemeral-symbol-fields","siteSpaceId":"sitesp_TF4wg","description":"","breadcrumbs":[{"label":"Advanced"}]},{"id":"CiQKn8BcLZyuC4ODTm0g","title":"Atomic Updates and CAS","pathname":"/advanced/atomic-updates-and-cas","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"CYLHq9kyQrRKdoyPBTie","title":"Custom Field Refactoring","pathname":"/advanced/custom-field-refactoring","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"pw9JVleoRgYWDDZU28gI","title":"VC Flavors","pathname":"/advanced/vc-flavors","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"zaE01gpH63ojeMvpjtfn","title":"Query Cache and VC Caches","pathname":"/advanced/query-and-custom-caches","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"LTCkW62kh9yXFxq46z7Y","title":"Loaders and Custom Batching","pathname":"/advanced/loaders-and-custom-batching","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"5fhNjJQtgaTqpL0gwlJA","title":"PostgreSQL Specific Features","pathname":"/advanced/postgresql-specific-features","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"5eRzNZKpTYrtcdDWJSQU","title":"Query Planner Hints","pathname":"/advanced/query-planner-hints","siteSpaceId":"sitesp_TF4wg","description":"","breadcrumbs":[{"label":"Advanced"}]},{"id":"g1V9CDIFo0nkNx7BmVMN","title":"Cluster Maintenance Queries","pathname":"/advanced/cluster-maintenance-queries","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"H1gohOis4fFUp5oF97nF","title":"Logging and Diagnostic Tools","pathname":"/advanced/logging-and-diagnostic-tools","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"n2Ww99pZpzfINaSuXohu","title":"Composite Primary Keys","pathname":"/advanced/composite-primary-keys","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"mol54fqDrPeyROpyqrmj","title":"Passwords Rotation","pathname":"/advanced/passwords-rotation","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Advanced"}]},{"id":"fVDr0S1PBuYB0yDjQlTC","title":"Abstraction Layers","pathname":"/architecture/abstraction-layers","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Architecture"}]},{"id":"jTgKP8dapovVNa0QazuE","title":"Ent Framework, Meta’s TAO, entgo","pathname":"/architecture/ent-framework-metas-tao-entgo","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Architecture"}]},{"id":"cPjdKjbipRZ8wBsqv9kF","title":"JIT in SQL Queries Batching","pathname":"/architecture/jit-in-sql-queries-batching","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Architecture"}]},{"id":"9UAl8Je79FiRmOt2fxOm","title":"To JOIN or not to JOIN","pathname":"/architecture/to-join-or-not-to-join","siteSpaceId":"sitesp_TF4wg","breadcrumbs":[{"label":"Architecture"}]}]}