Database & Schema: Real Postgres DDL for Every Site
REG121 generates real Postgres DDL for every custom table, scoped to each site’s isolated schema — not simulated or abstracted storage.
Every custom table you define in REG121 is materialized as actual DDL against a real Postgres schema. There is no abstraction layer simulating relational storage — when a table is created, a CREATE TABLE statement is executed against that site’s dedicated schema.
When you create a custom table for a site, REG121 generates and executes the corresponding CREATE TABLE DDL directly against the site’s isolated Postgres schema. The schema is derived from the data model you describe — field names, types, and relationships are translated into real database objects, not virtual representations.Each site has its own schema namespace within the database. Objects created for one site exist within that site’s schema boundary and are not shared with or accessible from any other site’s schema.
Schema access methods, migration workflow, and any CLI or dashboard tooling for direct schema management are not yet documented here. This section will be updated once confirmed with engineering. Contact REG121 support for current guidance.
Direct schema access — including connection credentials, migration tooling, and any CLI or dashboard interfaces for schema introspection or modification — is not yet publicly documented. Do not rely on inferred connection patterns or undocumented endpoints for production integrations.
Tables generated by REG121 use standard Postgres data types and constraints, selected to match the data model described for the site. The generated schema reflects idiomatic Postgres — types and constraints are not invented by the platform but derived from what Postgres natively supports.No custom or proprietary type system is introduced. If your data model specifies a numeric field, an appropriate Postgres numeric type is used. If uniqueness or nullability is required, the corresponding constraint is applied at the DDL level.Because the schema is real Postgres DDL, any tool or library that operates against standard Postgres — including query builders, ORMs, and introspection utilities — will interact with the schema as expected, subject to access permissions once those are confirmed and documented.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"REG121","colors":{"primary":"#4F46E5","light":"#EEF2FF","dark":"#1E1B4B"},"logo":{"light":"https://reg121.com/reg121_brand.png","dark":"https://reg121.com/reg121_brand.png"},"favicon":"https://mintcdn.com/reg121/wUsOD5-tRL9-EUAg/favicon.svg?fit=max\u0026auto=format\u0026n=wUsOD5-tRL9-EUAg\u0026q=85\u0026s=f54e6c1176bcbc1d212f619a24f6aa15","navbar":{"primary":{"type":"button","label":"Get Started","href":"https://studio.reg121.com"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"reg121","hasAudioNarration":false,"actualSubdomain":"reg121","customDomains":["docs.reg121.com"],"gitSource":{"type":"github","owner":"mintlify-community","repo":"docs-reg121-1bdcc244","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aa2c47068ecf2bff0bf9602","collectionId":"608266ef-b3a4-40ed-b4f5-7683470a4c77","liveDeploymentHistoryId":"6aa2c47068ecf2bff0bf9602","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"}},"buildId":"6aa2c47068ecf2bff0bf9602","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Documentation","count":16},{"language":"default","tag":"Developer Introduction","count":3},{"language":"default","tag":"Backend Infrastructure","count":3},{"language":"default","tag":"Get Started","count":3},{"language":"default","tag":"Publishing \u0026 Account","count":2},{"language":"default","tag":"Forms \u0026 Data","count":2},{"language":"default","tag":"Changelog","count":1},{"language":"default","tag":"Developer Reference","count":1},{"language":"default","tag":"Developer API","count":1},{"language":"default","tag":"Help","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"developer/database-and-schema","slug":"/developer/database-and-schema","pageMetadata":{"title":"Database \u0026 Schema: Real Postgres DDL for Every Site","sidebarTitle":"Database","description":"REG121 generates real Postgres DDL for every custom table, scoped to each site's isolated schema — not simulated or abstracted storage.","mode":"center","href":"/developer/database-and-schema"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"REG121 generates real Postgres DDL for every custom table, scoped to each site’s isolated schema — not simulated or abstracted storage.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Every custom table you define in REG121 is materialized as actual DDL against a real Postgres schema. There is no abstraction layer simulating relational storage — when a table is created, a `,_jsx(_components.code,{children:`CREATE TABLE`}),` statement is executed against that site’s dedicated schema.`]}),`\n`,_jsx(Heading,{level:`2`,id:`schema-generation`,children:`Schema Generation`}),`\n`,_jsxs(_components.p,{children:[`When you create a custom table for a site, REG121 generates and executes the corresponding `,_jsx(_components.code,{children:`CREATE TABLE`}),` DDL directly against the site’s isolated Postgres schema. The schema is derived from the data model you describe — field names, types, and relationships are translated into real database objects, not virtual representations.`]}),`\n`,_jsx(_components.p,{children:`Each site has its own schema namespace within the database. Objects created for one site exist within that site’s schema boundary and are not shared with or accessible from any other site’s schema.`}),`\n`,_jsx(Heading,{level:`2`,id:`schema-access-\u0026-migrations`,children:`Schema Access \u0026 Migrations`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Schema access methods, migration workflow, and any CLI or dashboard tooling for direct schema management are not yet documented here. This section will be updated once confirmed with engineering. Contact REG121 support for current guidance.`})}),`\n`,_jsx(_components.p,{children:`Direct schema access — including connection credentials, migration tooling, and any CLI or dashboard interfaces for schema introspection or modification — is not yet publicly documented. Do not rely on inferred connection patterns or undocumented endpoints for production integrations.`}),`\n`,_jsx(Heading,{level:`2`,id:`data-types-\u0026-constraints`,children:`Data Types \u0026 Constraints`}),`\n`,_jsx(_components.p,{children:`Tables generated by REG121 use standard Postgres data types and constraints, selected to match the data model described for the site. The generated schema reflects idiomatic Postgres — types and constraints are not invented by the platform but derived from what Postgres natively supports.`}),`\n`,_jsx(_components.p,{children:`No custom or proprietary type system is introduced. If your data model specifies a numeric field, an appropriate Postgres numeric type is used. If uniqueness or nullability is required, the corresponding constraint is applied at the DDL level.`}),`\n`,_jsx(_components.p,{children:`Because the schema is real Postgres DDL, any tool or library that operates against standard Postgres — including query builders, ORMs, and introspection utilities — will interact with the schema as expected, subject to access permissions once those are confirmed and documented.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Database \u0026 Schema: Real Postgres DDL for Every Site","sidebarTitle":"Database","description":"REG121 generates real Postgres DDL for every custom table, scoped to each site's isolated schema — not simulated or abstracted storage.","mode":"center","href":"/developer/database-and-schema"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Schema Generation","slug":"schema-generation","depth":2,"children":[]},{"title":"Schema Access \u0026 Migrations","slug":"schema-access-\u0026-migrations","depth":2,"children":[]},{"title":"Data Types \u0026 Constraints","slug":"data-types-\u0026-constraints","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"reg121","siteName":"REG121","title":"Database \u0026 Schema: Real Postgres DDL for Every Site - REG121","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-08T16:23:28.593Z","originalFileLocation":"developer/database-and-schema.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"REG121 generates real Postgres DDL for every custom table, scoped to each site\u0026#x27;s isolated schema — not simulated or abstracted storage.\">\u003cmeta data-mint-head name=\"application-name\" content=\"REG121\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Database \u0026amp; Schema: Real Postgres DDL for Every Site - REG121\">\u003cmeta data-mint-head property=\"og:description\" content=\"REG121 generates real Postgres DDL for every custom table, scoped to each site\u0026#x27;s isolated schema — not simulated or abstracted storage.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"REG121\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.reg121.com/developer/database-and-schema\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://reg121.mintlify.app/_mintlify/api/og/v2?division=Backend+Infrastructure\u0026amp;title=Database+%26+Schema%3A+Real+Postgres+DDL+for+Every+Site\u0026amp;description=REG121+generates+real+Postgres+DDL+for+every+custom+table%2C+scoped+to+each+site%27s+isolated+schema+%E2%80%94+not+simulated+or+abstracted+storage.\u0026amp;theme=b8fdce938b4f5caef0d295ac\u0026amp;signature=471b40a1de234412984837ce114f3f1c08b16cb8ae134a35212d1c25d00a7acd\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Database \u0026amp; Schema: Real Postgres DDL for Every Site - REG121\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"REG121 generates real Postgres DDL for every custom table, scoped to each site\u0026#x27;s isolated schema — not simulated or abstracted storage.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://reg121.mintlify.app/_mintlify/api/og/v2?division=Backend+Infrastructure\u0026amp;title=Database+%26+Schema%3A+Real+Postgres+DDL+for+Every+Site\u0026amp;description=REG121+generates+real+Postgres+DDL+for+every+custom+table%2C+scoped+to+each+site%27s+isolated+schema+%E2%80%94+not+simulated+or+abstracted+storage.\u0026amp;theme=b8fdce938b4f5caef0d295ac\u0026amp;signature=471b40a1de234412984837ce114f3f1c08b16cb8ae134a35212d1c25d00a7acd\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/reg121/YqjyiqcePSAH9hzh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"REG121\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4F46E5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.reg121.com/developer/database-and-schema\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/developer/database-and-schema.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.reg121.com/#organization\",\"name\":\"REG121\",\"url\":\"https://docs.reg121.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://reg121.com/reg121_brand.png\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.reg121.com#website\",\"name\":\"REG121\",\"url\":\"https://docs.reg121.com\",\"publisher\":{\"@id\":\"https://docs.reg121.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.reg121.com/developer/database-and-schema#webpage\",\"url\":\"https://docs.reg121.com/developer/database-and-schema\",\"name\":\"Database \u0026 Schema: Real Postgres DDL for Every Site\",\"description\":\"REG121 generates real Postgres DDL for every custom table, scoped to each site's isolated schema — not simulated or abstracted storage.\",\"dateModified\":\"2026-09-08T16:23:28.593Z\",\"isPartOf\":{\"@id\":\"https://docs.reg121.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.reg121.com/developer/database-and-schema#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.reg121.com/developer/database-and-schema#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"REG121\",\"item\":\"https://docs.reg121.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Database \u0026 Schema: Real Postgres DDL for Every Site\",\"item\":\"https://docs.reg121.com/developer/database-and-schema\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.reg121.com/developer/database-and-schema#article\",\"headline\":\"Database \u0026 Schema: Real Postgres DDL for Every Site\",\"name\":\"Database \u0026 Schema: Real Postgres DDL for Every Site\",\"description\":\"REG121 generates real Postgres DDL for every custom table, scoped to each site's isolated schema — not simulated or abstracted storage.\",\"url\":\"https://docs.reg121.com/developer/database-and-schema\",\"mainEntityOfPage\":{\"@id\":\"https://docs.reg121.com/developer/database-and-schema#webpage\"},\"dateModified\":\"2026-09-08T16:23:28.593Z\",\"publisher\":{\"@id\":\"https://docs.reg121.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.reg121.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"REG121\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"REG121","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"REG121: AI-Powered Website Builder for Small Businesses","sidebarTitle":"Overview","mode":"center","href":""},{"title":"Get Started with REG121: Build Your Site in Minutes","sidebarTitle":"Getting Started","mode":"center","href":"/platform/getting-started"},{"title":"Edit Your REG121 Site: AI Chat and Point-and-Click","sidebarTitle":"Editing","mode":"center","href":"/platform/editing-your-site"}]},{"group":"Forms \u0026 Data","pages":[{"title":"Collect Bookings and Enquiries with Built-In Forms","sidebarTitle":"Forms \u0026 Data","mode":"center","href":"/platform/forms-and-data"},{"title":"Store and Display Business Data with Custom Tables","sidebarTitle":"Custom Tables","mode":"center","href":"/platform/custom-data-tables"}]},{"group":"Publishing \u0026 Account","pages":[{"title":"Publish Your Site with REG121 — One Click, Fully Hosted","sidebarTitle":"Publishing","mode":"center","href":"/platform/publishing-and-hosting"},{"title":"REG121 Plans, Billing, and Account Management Guide","sidebarTitle":"Billing","mode":"center","href":"/platform/account-and-billing"}]},{"group":"Help","pages":[{"title":"REG121 Frequently Asked Questions — Getting Started","sidebarTitle":"FAQ","mode":"center","href":"/platform/faq"}]},{"group":"Developer Introduction","pages":[{"title":"reg121.cloud: Managed Backend for Every REG121 Site","sidebarTitle":"Overview","mode":"center","href":"/developer/overview"},{"title":"REG121 Site Architecture: React, API, and Postgres","sidebarTitle":"Architecture","mode":"center","href":"/developer/architecture"},{"title":"AI Models: The Multi-Model Agent Harness Behind REG121","sidebarTitle":"AI Models","description":"REG121 runs on a multi-model agent harness, load-balanced across leading providers for speed, resilience, and consistently high-quality output.","mode":"center","href":"/developer/models"}]},{"group":"Backend Infrastructure","pages":[{"title":"Database \u0026 Schema: Real Postgres DDL for Every Site","sidebarTitle":"Database","mode":"center","href":"/developer/database-and-schema"},{"title":"Authentication: Per-Site End-User Auth Infrastructure","sidebarTitle":"Authentication","description":"Every REG121 site ships with a complete, isolated authentication system for end users — provisioned automatically alongside the site's Postgres schema.","mode":"center","href":"/developer/authentication"},{"title":"Security \u0026 Isolation: Per-Site Database Boundaries","sidebarTitle":"Security","mode":"center","href":"/developer/security-and-isolation"}]},{"group":"Developer API","pages":[{"title":"REST API Reference: Per-Site Data Access on reg121.cloud","sidebarTitle":"REST API","mode":"center","href":"/developer/rest-api-reference"}]},{"group":"Developer Reference","pages":[{"title":"REG121 Limitations: What the Platform Is Not Designed For","sidebarTitle":"Limitations","mode":"center","href":"/developer/limitations"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Database \u0026 Schema: Real Postgres DDL for Every Site - REG121","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":[],"chunks":[]}