Safely investigate database connection failures, paused endpoints, missing production data, and recovery options without deleting or overwriting your data.
In the Database pane, check whether the problem affects development or
production. Compare this with the environment running the failing request.
See Development and production databases.Check Replit Status for a matching incident.
Do not infer an outage solely from a connection error.
Check for an outstanding billing issue or usage restriction.
Open the Database pane and select the affected environment.
If Unpause database is available, select it, then retry the connection.
If the control is missing, check whether a manually configured DATABASE_URL
points to a different database than the one shown in the pane.
Compare connection settings privately. Do not print or share the full connection
string. Do not remove an intentional external-database configuration.If unpause fails, or the control is still missing, contact Support with the
environment, error, and steps attempted. Repeated restarts are not a substitute
for investigating a paused database.
Check the published app’s production secrets and database configuration,
especially after a restore or migration. Workspace secrets alone do not verify
the production connection.In Publishing, review Adjust settings and the production secrets.
If your app uses both DATABASE_URL and individual PostgreSQL variables,
ensure they refer to the same intended database. Save and publish the intended
configuration, then verify a read before testing writes.Never copy production credentials into frontend code or a public repository.
First verify which database the app is reading. An empty development database
or a different connection target can look like data loss.Check whether a recent migration changed table names or schema. Publishing app
code does not establish that development records were copied to production.
Do not run a reset, drop tables, or copy development data over production as a
diagnostic step.
Replit uses drizzle-kit, the migration tool for Drizzle ORM, to manage your
databases at two points:
In development, Agent updates your Drizzle schema file and runs
drizzle-kit to apply it to your development database.
When you publish, Replit compares your development database with your
production database and generates the SQL needed to bring production up to
date. It compares the databases themselves, not your schema file.
Drizzle-kit only works with what a Drizzle schema can describe: tables,
columns, indexes, constraints, enums, sequences, views, and row-level security
policies.
These objects aren’t part of a Drizzle schema, so drizzle-kit can’t compare or
create them in development, and publishing doesn’t copy them to production:
You can create any of the unsupported objects above manually via the SQL console or Agent can also run SQL directly on your development database. They will work in development and Preview, but any unsupported objects will not be copied to production on publish.
If a table, view, default, or policy depends on one of these objects,
publishing stops at the database migration with an error such as:
function my_function(text) does not exist
type "my_domain" does not exist
role "app_user" does not exist
Replit rolls back the failed migration, so your production database isn’t
changed.Triggers and grants usually don’t cause an error. Publishing succeeds, but your
published app may behave differently from Preview. For example, a trigger that
updates a timestamp doesn’t run in production.To fix either case, find what’s missing
and apply it to production, then
publish again.
Agent can run this comparison for you, because it has read-only access to
your production database. See the prompt in
Apply missing objects to production.
To check it yourself, run the same read-only queries on both databases from
the SQL console, then compare the results:
-- Functions you created (excludes functions installed by extensions)SELECT p.proname FROM pg_proc pWHERE p.pronamespace = 'public'::regnamespace AND NOT EXISTS ( SELECT 1 FROM pg_depend d WHERE d.objid = p.oid AND d.deptype = 'e' )ORDER BY 1;-- TriggersSELECT DISTINCT event_object_table, trigger_nameFROM information_schema.triggersORDER BY 1, 2;-- DomainsSELECT typname FROM pg_typeWHERE typtype = 'd' AND typnamespace = 'public'::regnamespaceORDER BY 1;-- RolesSELECT rolname FROM pg_rolesWHERE rolname NOT LIKE 'pg\_%'ORDER BY 1;-- Grants to roles other than the one you're connected asSELECT table_name, grantee, privilege_typeFROM information_schema.role_table_grantsWHERE table_schema = 'public' AND grantee <> current_userORDER BY 1, 2, 3;
Anything that appears only in development needs to be applied to production.
Some roles are created by Replit and differ between the two databases; you
only need the roles your app’s policies or grants use.
Advanced: these steps run SQL directly on your live production database
to add objects Publishing doesn’t carry over, like functions, triggers and
roles. Running SQL manually is an unsupported flow that we can only help with
in a limited way, so we recommend it only if you’re comfortable working with
SQL.Review your options in
Data recovery first, and apply
changes when your app has little traffic.
Ask Agent to compare your databases and write a script for anything
missing. Paste this prompt into Agent in your project:Agent can read your production database but can’t change it, so you run
the script yourself in the next steps.
In the Database tool, select the production database, open My Data,
and turn on Enable Editing.
Publishing doesn’t remove these objects, so they stay in place for future
publishes. Keep the script in your project and run it again whenever you add or
change one of these objects in development.
Stop avoidable writes to the affected data while evaluating recovery. A restore
can replace newer data. Preserve the current state and understand the scope
before confirming a recovery action.
Record the affected environment, approximate last known good time and timezone,
and what changed. Check the recovery options and available history shown for
that database. Retention and recovery methods depend on the database and
configuration; do not assume an older timestamp is recoverable.Use the database-specific instructions in
Data recovery.
Do not assume that rolling back app code also restores production data.Contact Support if you cannot identify a safe recovery path. Recovery is not
guaranteed, and increasing retention cannot recreate history that was not kept.
Remove exposed values from shared material. For a supported production database,
regenerate its credentials
in the Database tool. Review the eligibility requirements and interruption warning first.
Update external clients with the new connection string. If the action isn’t
available, contact Support. Do not delete the database to rotate credentials.
Include the project URL, environment, sanitized error, time and timezone,
recent migrations or restores, and checks already completed. Do not include
database credentials, full connection strings, or customer records.
See the support checklist.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Replit","colors":{"primary":"#FF3C00","light":"#FF3C00","dark":"#FF3C00"},"logo":{"light":"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/light.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=6209cb5927b56fd1781133af05428373","dark":"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/dark.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=9cbba158300d48c49d8b888e71015495","href":"/welcome"},"favicon":"https://mintcdn.com/replit/CmOMKRnamiqG44eH/favicon.ico?fit=max\u0026auto=format\u0026n=CmOMKRnamiqG44eH\u0026q=85\u0026s=c89a6df6f537373c946c7a5f0ac65475","appearance":{"default":"light"},"background":{"color":{"light":"#F6F5F4","dark":"#1E1E1F"}},"navbar":{"links":[],"primary":{"type":"button","label":"Start Building","href":"https://replit.com?ref=docs"}},"footer":{"socials":{"x":"https://x.com/replit","linkedin":"https://www.linkedin.com/company/repl-it","youtube":"https://www.youtube.com/@replit"}},"seo":{"metatags":{"og:site_name":"Replit Docs","twitter:site":"@replit","twitter:creator":"@replit","author":"Replit"},"indexing":"all"},"fonts":{"heading":{"family":"ABC Diatype Plus","weight":400,"source":"https://cdn.replit.com/dotcom/fonts/ABCDiatypePlusVariable.woff2","format":"woff2"},"body":{"family":"ABC Diatype Plus","weight":400,"source":"https://cdn.replit.com/dotcom/fonts/ABCDiatypePlusVariable.woff2","format":"woff2"}},"integrations":{"segment":{"key":"dMePKGC4BqfBivpe0Hvl8IoPpzSHgjdX"}},"contextual":{"options":["copy","view"],"display":"header"},"thumbnails":{"appearance":"light","background":"https://mintcdn.com/replit/j4of5To8jzehz0JK/thumb.png?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=a7db7f0256b2fa06810fb4d378e63cc5","fonts":{"family":"ABC Diatype Plus"}},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"welcome"},{"language":"fr","navbar":{"links":[],"primary":{"type":"button","label":"Commencer à créer","href":"https://replit.com?ref=docs"}},"href":"fr/welcome"},{"language":"pt","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"Comece a criar","href":"https://replit.com?ref=docs"}},"href":"pt/welcome"},{"language":"ja","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"作成を開始","href":"https://replit.com?ref=docs"}},"href":"ja/welcome"},{"language":"ko","hidden":false,"navbar":{"links":[],"primary":{"type":"button","label":"빌드 시작하기","href":"https://replit.com?ref=docs"}},"href":"ko/welcome"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"replit","hasAudioNarration":false,"actualSubdomain":"replit","customDomains":["docs.replit.com","docs.repl.it"],"gitSource":{"type":"github","owner":"replit","repo":"replit-docs","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"issues":true,"edits":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af05876198d4fbfea6de5df","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"en","tag":"Features","count":360},{"language":"fr","tag":"Fonctionnalités","count":360},{"language":"ja","tag":"機能","count":360},{"language":"ko","tag":"기능","count":360},{"language":"pt","tag":"Funcionalidades","count":360},{"language":"en","tag":"Changelog","count":100},{"language":"fr","tag":"Journal des modifications","count":100},{"language":"ja","tag":"変更履歴","count":100},{"language":"ko","tag":"변경 내역","count":100},{"language":"pt","tag":"Registro de alterações","count":100},{"language":"en","tag":"Apps","count":41},{"language":"fr","tag":"Apps","count":41},{"language":"ja","tag":"Apps","count":41},{"language":"ko","tag":"Apps","count":41},{"language":"pt","tag":"Apps","count":41},{"language":"en","tag":"Enterprise","count":40},{"language":"fr","tag":"Entreprise","count":40},{"language":"ja","tag":"Enterprise","count":40},{"language":"ko","tag":"Enterprise","count":40},{"language":"pt","tag":"Enterprise","count":40},{"language":"en","tag":"Use cases","count":39},{"language":"fr","tag":"Use cases","count":39},{"language":"ja","tag":"Use cases","count":39},{"language":"ko","tag":"Use cases","count":39},{"language":"pt","tag":"Use cases","count":39},{"language":"en","tag":"Chats","count":25},{"language":"en","tag":"Designs","count":25},{"language":"fr","tag":"Chats","count":25},{"language":"fr","tag":"Designs","count":25},{"language":"ja","tag":"Chats","count":25},{"language":"ja","tag":"Designs","count":25},{"language":"ko","tag":"Chats","count":25},{"language":"ko","tag":"Designs","count":25},{"language":"pt","tag":"Chats","count":25},{"language":"pt","tag":"Designs","count":25},{"language":"en","tag":"Trust \u0026 Billing","count":23},{"language":"fr","tag":"Confiance et facturation","count":23},{"language":"ja","tag":"信頼と請求","count":23},{"language":"ko","tag":"신뢰 및 결제","count":23},{"language":"pt","tag":"Confiança e faturamento","count":23},{"language":"en","tag":"Web","count":22},{"language":"fr","tag":"Web","count":22},{"language":"ja","tag":"Web","count":22},{"language":"ko","tag":"Web","count":22},{"language":"pt","tag":"Web","count":22},{"language":"en","tag":"Help","count":20},{"language":"fr","tag":"Help","count":20},{"language":"ja","tag":"Help","count":20},{"language":"ko","tag":"Help","count":20},{"language":"pt","tag":"Help","count":20}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@replit.com"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","href":"/_mintlify/custom/replit/795eee5cda55dee3/styles.css"}],"page":{"pagePath":"help/troubleshooting/databases","slug":"/help/troubleshooting/databases","pageMetadata":{"title":"Troubleshoot databases","sidebarTitle":"Databases","description":"Safely investigate database connection failures, paused endpoints, missing production data, and recovery options without deleting or overwriting your data.","href":"/help/troubleshooting/databases"},"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: \"Safely investigate database connection failures, paused endpoints, missing production data, and recovery options without deleting or overwriting your data.\"\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];const AiPrompt=({children})=>{const{CodeBlock}=_provideComponents()||{};if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);return _jsx(CodeBlock,{className:`mint-relative mint-block mint-max-w-full mint-overflow-x-hidden mint-font-sans !mint-whitespace-pre-wrap !mint-break-words`,style:{overflowWrap:`anywhere`,wordBreak:`break-word`},children:_jsx(`div`,{className:`mint-pr-7`,style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,wordBreak:`break-word`},children})})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning,_MdxComponentBoundary}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`identify-the-affected-database`,children:`Identify the affected database`}),`\n`,_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Database`}),` pane, check whether the problem affects development or\nproduction. Compare this with the environment running the failing request.\nSee `,_jsx(_components.a,{href:`/features/data-and-storage/development-and-production`,children:`Development and production databases`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Check `,_jsx(_components.a,{href:`https://status.replit.com`,children:`Replit Status`}),` for a matching incident.\nDo not infer an outage solely from a connection error.`]}),`\n`,_jsx(Heading,{level:`2`,id:`“the-endpoint-has-been-disabled”`,children:`“The endpoint has been disabled”`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Check for an outstanding billing issue or usage restriction.`}),`\n`,_jsxs(_components.li,{children:[`Open the `,_jsx(_components.strong,{children:`Database`}),` pane and select the affected environment.`]}),`\n`,_jsxs(_components.li,{children:[`If `,_jsx(_components.strong,{children:`Unpause database`}),` is available, select it, then retry the connection.`]}),`\n`,_jsxs(_components.li,{children:[`If the control is missing, check whether a manually configured `,_jsx(_components.code,{children:`DATABASE_URL`}),`\npoints to a different database than the one shown in the pane.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Compare connection settings privately. Do not print or share the full connection\nstring. Do not remove an intentional external-database configuration.`}),`\n`,_jsx(_components.p,{children:`If unpause fails, or the control is still missing, contact Support with the\nenvironment, error, and steps attempted. Repeated restarts are not a substitute\nfor investigating a paused database.`}),`\n`,_jsx(Heading,{level:`2`,id:`preview-connects-but-the-published-app-does-not`,children:`Preview connects, but the published app does not`}),`\n`,_jsx(_components.p,{children:`Check the published app’s production secrets and database configuration,\nespecially after a restore or migration. Workspace secrets alone do not verify\nthe production connection.`}),`\n`,_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Publishing`}),`, review `,_jsx(_components.strong,{children:`Adjust settings`}),` and the production secrets.\nIf your app uses both `,_jsx(_components.code,{children:`DATABASE_URL`}),` and individual PostgreSQL variables,\nensure they refer to the same intended database. Save and publish the intended\nconfiguration, then verify a read before testing writes.`]}),`\n`,_jsx(_components.p,{children:`Never copy production credentials into frontend code or a public repository.`}),`\n`,_jsx(Heading,{level:`2`,id:`tables-or-records-are-missing`,children:`Tables or records are missing`}),`\n`,_jsx(_components.p,{children:`First verify which database the app is reading. An empty development database\nor a different connection target can look like data loss.`}),`\n`,_jsx(_components.p,{children:`Check whether a recent migration changed table names or schema. Publishing app\ncode does not establish that development records were copied to production.\nDo not run a reset, drop tables, or copy development data over production as a\ndiagnostic step.`}),`\n`,_jsx(Heading,{level:`2`,id:`unsupported-database-objects`,children:`Unsupported database objects`}),`\n`,_jsx(_components.p,{children:`Replit uses drizzle-kit, the migration tool for Drizzle ORM, to manage your\ndatabases at two points:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`In development`}),`, Agent updates your Drizzle schema file and runs\ndrizzle-kit to apply it to your development database.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`When you publish`}),`, Replit compares your development database with your\nproduction database and generates the SQL needed to bring production up to\ndate. It compares the databases themselves, not your schema file.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Drizzle-kit only works with what a Drizzle schema can describe: tables,\ncolumns, indexes, constraints, enums, sequences, views, and row-level security\npolicies.`}),`\n`,_jsx(Heading,{level:`3`,id:`not-supported`,children:`Not supported`}),`\n`,_jsx(_components.p,{children:`These objects aren’t part of a Drizzle schema, so drizzle-kit can’t compare or\ncreate them in development, and publishing doesn’t copy them to production:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Domains`}),`, custom types created with `,_jsx(_components.code,{children:`CREATE DOMAIN`}),`.`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Functions, procedures, and triggers.`})}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Grants`}),`, table permissions given with `,_jsx(_components.code,{children:`GRANT`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`limited-support-roles`,children:`Limited support: roles`}),`\n`,_jsx(_components.p,{children:`Drizzle can declare roles, but support for them is limited. Therefore publishing doesn’t\ncreate, change, or remove roles currently.`}),`\n`,_jsx(Heading,{level:`3`,id:`objects-created-with-sql`,children:`Objects created with SQL`}),`\n`,_jsxs(_components.p,{children:[`You can create any of the unsupported objects above manually via the `,_jsx(_components.a,{href:`/features/data-and-storage/work-with-your-data#run-sql-commands`,children:`SQL console`}),` or Agent can also run SQL directly on your development database. They will work in development and Preview, but any unsupported objects will not be copied to production on publish.`]}),`\n`,_jsx(Heading,{level:`3`,id:`what-happens-when-an-object-isn’t-supported`,children:`What happens when an object isn’t supported`}),`\n`,_jsx(_components.p,{children:`If a table, view, default, or policy depends on one of these objects,\npublishing stops at the database migration with an error such as:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`function my_function(text) does not exist`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`type \"my_domain\" does not exist`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`role \"app_user\" does not exist`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`Replit rolls back the failed migration, so your production database isn’t\nchanged.`}),`\n`,_jsx(_components.p,{children:`Triggers and grants usually don’t cause an error. Publishing succeeds, but your\npublished app may behave differently from Preview. For example, a trigger that\nupdates a timestamp doesn’t run in production.`}),`\n`,_jsxs(_components.p,{children:[`To fix either case, `,_jsx(_components.a,{href:`#find-whats-missing-in-production`,children:`find what’s missing`}),`\nand `,_jsx(_components.a,{href:`#apply-missing-objects-to-production`,children:`apply it to production`}),`, then\npublish again.`]}),`\n`,_jsx(Heading,{level:`2`,id:`find-what’s-missing-in-production`,children:`Find what’s missing in production`}),`\n`,_jsxs(_components.p,{children:[`Agent can run this comparison for you, because it has read-only access to\nyour production database. See the prompt in\n`,_jsx(_components.a,{href:`#apply-missing-objects-to-production`,children:`Apply missing objects to production`}),`.\nTo check it yourself, run the same read-only queries on both databases from\nthe `,_jsx(_components.strong,{children:`SQL console`}),`, then compare the results:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`28`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`28`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Functions you created (excludes functions installed by extensions)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`proname`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pg_proc p`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`pronamespace`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'public'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::regnamespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` AND`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` NOT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` EXISTS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SELECT`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pg_depend d `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` d`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`objid`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` p`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`oid`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` AND`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` d`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`deptype`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'e'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Triggers`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT DISTINCT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` event_object_table, trigger_name`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` information_schema`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`triggers`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Domains`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` typname `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pg_type`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` typtype `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'd'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` AND`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` typnamespace `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'public'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`::regnamespace`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Roles`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rolname `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` pg_roles`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` rolname `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`NOT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` LIKE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'pg\\\\_%'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Grants to roles other than the one you're connected as`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` table_name, grantee, privilege_type`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`FROM`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` information_schema`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`role_table_grants`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` table_schema `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'public'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` AND`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` grantee `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` current_user`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ORDER BY`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Anything that appears only in development needs to be applied to production.\nSome roles are created by Replit and differ between the two databases; you\nonly need the roles your app’s policies or grants use.`}),`\n`,_jsx(Heading,{level:`2`,id:`apply-missing-objects-to-production`,children:`Apply missing objects to production`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Advanced:`}),` these steps run SQL directly on your live production database\nto add objects Publishing doesn’t carry over, like functions, triggers and\nroles. Running SQL manually is an unsupported flow that we can only help with\nin a limited way, so we recommend it only if you’re comfortable working with\nSQL.`]}),_jsxs(_components.p,{children:[`Review your options in\n`,_jsx(_components.a,{href:`/features/data-and-storage/data-recovery`,children:`Data recovery`}),` first, and apply\nchanges when your app has little traffic.`]})]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Ask Agent to compare your databases and write a script for anything\nmissing. Paste this prompt into Agent in your project:`}),`\n`,_jsx(_MdxComponentBoundary,{name:`AiPrompt`,children:_jsx(AiPrompt,{children:_jsx(_components.p,{children:`First, run a read-only query on my Replit-managed production database to\nconfirm you can reach it. If you can’t, stop and tell me why. Then compare\nmy development and production databases and find any functions,\ntriggers, domains, roles, or grants that exist only in development. Write\none SQL script that creates only the missing objects. Put roles and\ndomains first, then functions, then triggers and grants. Make every\nstatement safe to run more than once. Save the script in my project as\ndb/production-objects.sql. Don’t run it, and don’t try to change the\nproduction database.`})})}),`\n`,_jsx(_components.p,{children:`Agent can read your production database but can’t change it, so you run\nthe script yourself in the next steps.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Database`}),` tool, select the production database, open `,_jsx(_components.strong,{children:`My Data`}),`,\nand turn on `,_jsx(_components.strong,{children:`Enable Editing`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:_jsx(_components.a,{href:`/features/data-and-storage/work-with-your-data#run-sql-commands`,children:`SQL console`})}),` and run the script.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Turn off `,_jsx(_components.strong,{children:`Enable Editing`}),`, then publish again.`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Publishing doesn’t remove these objects, so they stay in place for future\npublishes. Keep the script in your project and run it again whenever you add or\nchange one of these objects in development.`}),`\n`,_jsx(Heading,{level:`2`,id:`data-was-deleted-or-overwritten`,children:`Data was deleted or overwritten`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Stop avoidable writes to the affected data while evaluating recovery. A restore\ncan replace newer data. Preserve the current state and understand the scope\nbefore confirming a recovery action.`})}),`\n`,_jsx(_components.p,{children:`Record the affected environment, approximate last known good time and timezone,\nand what changed. Check the recovery options and available history shown for\nthat database. Retention and recovery methods depend on the database and\nconfiguration; do not assume an older timestamp is recoverable.`}),`\n`,_jsxs(_components.p,{children:[`Use the database-specific instructions in\n`,_jsx(_components.a,{href:`/features/data-and-storage/data-recovery`,children:`Data recovery`}),`.\nDo not assume that rolling back app code also restores production data.`]}),`\n`,_jsx(_components.p,{children:`Contact Support if you cannot identify a safe recovery path. Recovery is not\nguaranteed, and increasing retention cannot recreate history that was not kept.`}),`\n`,_jsx(Heading,{level:`2`,id:`credentials-may-have-been-exposed`,children:`Credentials may have been exposed`}),`\n`,_jsxs(_components.p,{children:[`Remove exposed values from shared material. For a supported production database,\n`,_jsx(_components.a,{href:`/features/data-and-storage/connection-details#regenerate-production-database-credentials`,children:`regenerate its credentials`}),`\nin the `,_jsx(_components.strong,{children:`Database`}),` tool. Review the eligibility requirements and interruption warning first.\nUpdate external clients with the new connection string. If the action isn’t\navailable, contact Support. Do not delete the database to rotate credentials.`]}),`\n`,_jsx(Heading,{level:`2`,id:`details-for-support`,children:`Details for Support`}),`\n`,_jsxs(_components.p,{children:[`Include the project URL, environment, sanitized error, time and timezone,\nrecent migrations or restores, and checks already completed. Do not include\ndatabase credentials, full connection strings, or customer records.\nSee the `,_jsx(_components.a,{href:`/help/troubleshooting/overview#when-to-contact-support`,children:`support checklist`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{AiPrompt,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":"Troubleshoot databases","sidebarTitle":"Databases","description":"Safely investigate database connection failures, paused endpoints, missing production data, and recovery options without deleting or overwriting your data.","href":"/help/troubleshooting/databases"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[144,612,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"Identify the affected database","slug":"identify-the-affected-database","depth":2,"children":[]},{"title":"“The endpoint has been disabled”","slug":"“the-endpoint-has-been-disabled”","depth":2,"children":[]},{"title":"Preview connects, but the published app does not","slug":"preview-connects-but-the-published-app-does-not","depth":2,"children":[]},{"title":"Tables or records are missing","slug":"tables-or-records-are-missing","depth":2,"children":[]},{"title":"Unsupported database objects","slug":"unsupported-database-objects","depth":2,"children":[{"title":"Not supported","slug":"not-supported","depth":3,"children":[]},{"title":"Limited support: roles","slug":"limited-support-roles","depth":3,"children":[]},{"title":"Objects created with SQL","slug":"objects-created-with-sql","depth":3,"children":[]},{"title":"What happens when an object isn’t supported","slug":"what-happens-when-an-object-isn’t-supported","depth":3,"children":[]}]},{"title":"Find what’s missing in production","slug":"find-what’s-missing-in-production","depth":2,"children":[]},{"title":"Apply missing objects to production","slug":"apply-missing-objects-to-production","depth":2,"children":[]},{"title":"Data was deleted or overwritten","slug":"data-was-deleted-or-overwritten","depth":2,"children":[]},{"title":"Credentials may have been exposed","slug":"credentials-may-have-been-exposed","depth":2,"children":[]},{"title":"Details for Support","slug":"details-for-support","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-relative {\n position: relative\n}\n.mint-block {\n display: block\n}\n.mint-max-w-full {\n max-width: 100%\n}\n.mint-overflow-x-hidden {\n overflow-x: hidden\n}\n.\\!mint-whitespace-pre-wrap {\n white-space: pre-wrap !important\n}\n.\\!mint-break-words {\n overflow-wrap: break-word !important\n}\n.mint-pr-7 {\n padding-right: 1.75rem\n}\n.mint-font-sans {\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"\n}","subdomain":"replit","siteName":"Replit","title":"Troubleshoot databases - Replit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/help/troubleshooting/databases","matchLevel":0},"fr":{"href":"/fr/help/troubleshooting/databases","matchLevel":1},"pt":{"href":"/pt/help/troubleshooting/databases","matchLevel":1},"ja":{"href":"/ja/help/troubleshooting/databases","matchLevel":1},"ko":{"href":"/ko/help/troubleshooting/databases","matchLevel":1}}},"lastModified":"2026-11-05T01:56:00.848Z","originalFileLocation":"help/troubleshooting/databases.mdx","locale":"en"},"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=\"light\"}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=\"Safely investigate database connection failures, paused endpoints, missing production data, and recovery options without deleting or overwriting your data.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Replit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_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/replit/bmCuvIiWqqoyeE2o/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Troubleshoot databases - Replit\">\u003cmeta data-mint-head property=\"og:description\" content=\"Safely investigate database connection failures, paused endpoints, missing production data, and recovery options without deleting or overwriting your data.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Replit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.replit.com/help/troubleshooting/databases\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://replit.mintlify.site/_mintlify/api/og/v2?division=Troubleshooting+guides\u0026amp;title=Troubleshoot+databases\u0026amp;description=Safely+investigate+database+connection+failures%2C+paused+endpoints%2C+missing+production+data%2C+and+recovery+options+without+deleting+or+overwriting+your+data.\u0026amp;theme=c1942b8f9ebd95f98c5c7c23\u0026amp;signature=1e6819d405f9f1d6a39b231744ee5eca1a3bd40835d93b5d50db854c89ed472a\">\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=\"Troubleshoot databases - Replit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Safely investigate database connection failures, paused endpoints, missing production data, and recovery options without deleting or overwriting your data.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://replit.mintlify.site/_mintlify/api/og/v2?division=Troubleshooting+guides\u0026amp;title=Troubleshoot+databases\u0026amp;description=Safely+investigate+database+connection+failures%2C+paused+endpoints%2C+missing+production+data%2C+and+recovery+options+without+deleting+or+overwriting+your+data.\u0026amp;theme=c1942b8f9ebd95f98c5c7c23\u0026amp;signature=1e6819d405f9f1d6a39b231744ee5eca1a3bd40835d93b5d50db854c89ed472a\">\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/replit/bmCuvIiWqqoyeE2o/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Replit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF3C00\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@replit\">\u003cmeta data-mint-head name=\"author\" content=\"Replit\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.replit.com/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/help/troubleshooting/databases.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.replit.com/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.replit.com/fr/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt\" href=\"https://docs.replit.com/pt/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.replit.com/ja/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.replit.com/ko/help/troubleshooting/databases\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.replit.com/help/troubleshooting/databases\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.replit.com/#organization\",\"name\":\"Replit\",\"url\":\"https://docs.replit.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/replit/j4of5To8jzehz0JK/logo/light.svg?fit=max\u0026auto=format\u0026n=j4of5To8jzehz0JK\u0026q=85\u0026s=6209cb5927b56fd1781133af05428373\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.replit.com#website\",\"name\":\"Replit\",\"url\":\"https://docs.replit.com\",\"publisher\":{\"@id\":\"https://docs.replit.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.replit.com/help/troubleshooting/databases#webpage\",\"url\":\"https://docs.replit.com/help/troubleshooting/databases\",\"name\":\"Troubleshoot databases\",\"description\":\"Safely investigate database connection failures, paused endpoints, missing production data, and recovery options without deleting or overwriting your data.\",\"dateModified\":\"2026-11-05T01:56:00.848Z\",\"isPartOf\":{\"@id\":\"https://docs.replit.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.replit.com/help/troubleshooting/databases#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.replit.com/help/troubleshooting/databases#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Help center\",\"item\":\"https://docs.replit.com/help/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Troubleshooting guides\",\"item\":\"https://docs.replit.com/help/troubleshooting/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Troubleshoot databases\",\"item\":\"https://docs.replit.com/help/troubleshooting/databases\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.replit.com/help/troubleshooting/databases#article\",\"headline\":\"Troubleshoot databases\",\"name\":\"Troubleshoot databases\",\"description\":\"Safely investigate database connection failures, paused endpoints, missing production data, and recovery options without deleting or overwriting your data.\",\"url\":\"https://docs.replit.com/help/troubleshooting/databases\",\"mainEntityOfPage\":{\"@id\":\"https://docs.replit.com/help/troubleshooting/databases#webpage\"},\"dateModified\":\"2026-11-05T01:56:00.848Z\",\"publisher\":{\"@id\":\"https://docs.replit.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.replit.com#website\"}}]}\u003c/script>","siteName":"Replit","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/welcome"}]},{"tab":"Chats","pages":[{"title":"Chats","href":"/chat/overview"}]},{"tab":"Apps","dropdowns":[{"dropdown":"Web","icon":"globe","pages":[{"group":"Quickstarts","pages":[{"title":"Build your first app","sidebarTitle":"Build your first app","icon":"rocket","href":"/build/your-first-app"},{"title":"Build and publish from a template","sidebarTitle":"Build from a template","icon":"palette","href":"/build/build-and-publish-from-template"},{"title":"Build with Free Mode","sidebarTitle":"Build with Free Mode","icon":"seedling","href":"/build/build-with-free-mode"},{"title":"Publish your app","sidebarTitle":"Publish your app","icon":"cloud-arrow-up","href":"/build/publish-your-app"}]},{"group":"Build paths","pages":[{"title":"Prototype a product idea","sidebarTitle":"Prototype an idea","icon":"lightbulb","href":"/build/prototype-an-idea"},{"title":"Launch a landing page","sidebarTitle":"Launch a landing page","icon":"rectangle-list","href":"/build/landing-page"},{"title":"Build a Shopify storefront","sidebarTitle":"Build a Shopify storefront","icon":"bag-shopping","href":"/build/ecommerce-store"},{"title":"Create a dashboard from data","sidebarTitle":"Create a dashboard","icon":"chart-simple","href":"/build/dashboard"},{"title":"Build a mobile app","sidebarTitle":"Build a mobile app","icon":"mobile-screen","href":"/build/mobile-app"}]},{"group":"Grow your app","pages":[{"title":"Add login","sidebarTitle":"Add login","icon":"user-lock","href":"/build/add-login"},{"title":"Add a database","sidebarTitle":"Add a database","icon":"database","href":"/build/add-database"},{"title":"Add integrations","sidebarTitle":"Add integrations","icon":"plug","href":"/build/add-integrations"},{"title":"Add a custom domain","sidebarTitle":"Add a custom domain","icon":"globe","href":"/build/add-custom-domain"}]},{"group":"Publish and operate","pages":[{"title":"Purchase a domain","sidebarTitle":"Purchase a domain","icon":"cart-shopping","href":"/build/domain-purchasing"},{"title":"Enable Feedback Widget","sidebarTitle":"Enable Feedback Widget","icon":"comment","href":"/build/enable-feedback"},{"title":"Improve your app's SEO","sidebarTitle":"Improve SEO","icon":"magnifying-glass-chart","href":"/build/improve-seo"},{"title":"Troubleshoot publishing","icon":"triangle-exclamation","href":"/build/troubleshooting"}]},{"group":"Connect \u0026 integrate","pages":[{"title":"Use Agent Skills","sidebarTitle":"Use Agent Skills","icon":"puzzle-piece","href":"/build/use-agent-skills"},{"title":"Connect via MCP","sidebarTitle":"Connect via MCP","icon":"server","href":"/build/connect-via-mcp"}]},{"group":"Collaborate","pages":[{"title":"Invite teammates","sidebarTitle":"Invite teammates","icon":"user-plus","href":"/build/invite-teammates"},{"title":"Create a team workspace","sidebarTitle":"Create a team workspace","icon":"users-rectangle","href":"/build/create-a-team-workspace"}]},{"group":"Import","pages":[{"title":"Import from a provider","sidebarTitle":"Import from a provider","icon":"file-import","href":"/build/import-from-providers"}]}]},{"dropdown":"Mobile","icon":"mobile","groups":[{"group":"Quickstarts","pages":[{"title":"Start your first mobile app","sidebarTitle":"Start your mobile app","icon":"wand-magic-sparkles","href":"/build/mobile-first-app"},{"title":"Preview and test on your phone","sidebarTitle":"Test with Expo Go","icon":"mobile","href":"/build/mobile-preview-testing"}]},{"group":"Publish for iOS","pages":[{"title":"Set up your Apple Developer account","sidebarTitle":"Set up your account","icon":"apple","href":"/build/mobile-apple-account"},{"title":"Upload your app to App Store Connect","sidebarTitle":"Upload your app","icon":"cloud-arrow-up","href":"/build/mobile-upload-ios"},{"title":"Beta test with TestFlight","sidebarTitle":"Test on TestFlight","icon":"flask","href":"/build/mobile-testflight"},{"title":"Submit to the App Store","sidebarTitle":"Submit for App Store","icon":"paper-plane","href":"/build/mobile-publish-ios"}]},{"group":"Add features and grow your app","pages":[{"title":"Add login","sidebarTitle":"Add login","icon":"right-to-bracket","href":"/build/mobile-login"},{"title":"Add payments with RevenueCat","sidebarTitle":"Add payments","icon":"credit-card","href":"/build/mobile-payments"},{"title":"Store images in your mobile app","sidebarTitle":"Save player images","icon":"image","href":"/build/mobile-store-images"},{"title":"Add haptics","sidebarTitle":"Add haptics","icon":"wave-square","href":"/build/mobile-haptics"},{"title":"Use iOS native components","sidebarTitle":"Use native UI","icon":"apple","href":"/build/mobile-native-components"},{"title":"Use the camera","sidebarTitle":"Add camera","icon":"camera","href":"/build/mobile-camera"},{"title":"Access contacts","sidebarTitle":"Add contacts","icon":"address-book","href":"/build/mobile-contacts"},{"title":"Send push notifications","sidebarTitle":"Send notifications","icon":"bell","href":"/build/mobile-push-notifications"},{"title":"Collect reviews and ratings","sidebarTitle":"Collect reviews","icon":"star","href":"/build/mobile-collect-reviews"}]},{"group":"Design","pages":[{"title":"Design your app","sidebarTitle":"Design your app","icon":"palette","href":"/build/mobile-design"},{"title":"Generate an app icon","sidebarTitle":"Generate app icon","icon":"image","href":"/build/mobile-app-icon"},{"title":"Generate App Store screenshots","sidebarTitle":"Generate store assets","icon":"images","href":"/build/mobile-store-screenshots"}]},{"group":"Collaborate","pages":[{"title":"Build PixelGames with a team","sidebarTitle":"Invite your team","icon":"users","href":"/build/mobile-invite-team"}]}]}]},{"tab":"Code","pages":[{"title":"Code","href":"/build/code/code-with-replit"}]},{"tab":"Designs","pages":[{"title":"Designs","href":"/design/what-is-replit-design"}]},{"tab":"Use cases","pages":[{"title":"Use cases","href":"/use-cases"}]},{"tab":"Learn","pages":[{"title":"Learn","href":"/learn/foundations/what-is-an-app"}]},{"tab":"Features","anchors":[{"anchor":"Features","icon":"book-open","pages":[{"title":"Features","href":"/features/collaboration/workspaces"}]},{"anchor":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/updates/2026/11/06/changelog"}]},{"anchor":"Help","icon":"circle-question","groups":[{"group":"Help center","pages":[{"title":"Help center","sidebarTitle":"Overview","icon":"circle-question","href":"/help/overview"},{"title":"Billing and refunds","sidebarTitle":"Billing and refunds","icon":"receipt","href":"/help/billing-and-refunds"},{"title":"Pricing and plans","sidebarTitle":"Pricing and plans","icon":"tags","href":"/help/pricing-and-plans"},{"title":"Subscriptions","sidebarTitle":"Subscriptions","icon":"rotate","href":"/help/subscriptions"},{"title":"Agent and AI","sidebarTitle":"Agent and AI","icon":"robot","href":"/help/agent-and-ai"},{"title":"Free Agent Mode","sidebarTitle":"Free Agent Mode","icon":"message-bot","href":"/help/free-agent-mode"},{"title":"Deployment and publishing","sidebarTitle":"Deployment and publishing","icon":"rocket","href":"/help/deployment-and-publishing"},{"title":"Payments and Stripe","sidebarTitle":"Payments and Stripe","icon":"credit-card","href":"/help/payments-and-stripe"},{"title":"Database","sidebarTitle":"Database","icon":"database","href":"/help/database"},{"title":"Custom domains and DNS","sidebarTitle":"Custom domains and DNS","icon":"globe","href":"/help/custom-domains-and-dns"},{"title":"Networking and app errors","sidebarTitle":"Networking and app errors","icon":"triangle-exclamation","href":"/help/networking-and-app-errors"},{"title":"Resolving \"This app is blocked\" for Google Connectors","sidebarTitle":"Google Suite Errors","icon":"bug","href":"/features/troubleshooting/debugging-google-connectors"},{"title":"Fixing Salesforce Connection Expired Errors","sidebarTitle":"Salesforce Errors","icon":"bug","href":"/features/troubleshooting/debugging-salesforce-connectors"},{"title":"Account and access","sidebarTitle":"Account and access","icon":"user","href":"/help/account-and-access"},{"title":"Projects and files","sidebarTitle":"Projects and files","icon":"folder","href":"/help/projects-and-files"},{"group":"Troubleshooting guides","pages":[{"title":"Troubleshooting guides","sidebarTitle":"Troubleshooting overview","href":"/help/troubleshooting/overview"},{"title":"Troubleshoot deployments","sidebarTitle":"Deployments","href":"/help/troubleshooting/deployments"},{"title":"Troubleshoot app authentication","sidebarTitle":"App authentication","description":"Identify your app's authentication provider, compare development and production sign-in, and safely investigate redirects, missing users, and domain errors.","href":"/help/troubleshooting/auth"},{"title":"Troubleshoot databases","sidebarTitle":"Databases","href":"/help/troubleshooting/databases"},{"title":"Troubleshoot domains","sidebarTitle":"Domains","description":"Check custom-domain DNS records, verification and HTTPS, isolate hosting from authentication failures, and gather safe evidence for unresolved domain issues.","href":"/help/troubleshooting/domains"}]}]}]}]},{"tab":"Trust \u0026 Billing","pages":[{"title":"Trust \u0026 Billing","href":"/category/billing"}]},{"tab":"Enterprise","pages":[{"title":"Enterprise","href":"/teams/welcome"}]}]},{"language":"fr","navbar":{"links":[],"primary":{"type":"button","label":"Commencer à créer","href":"https://replit.com?ref=docs"}},"pages":[{"title":"fr","href":"/fr/help/troubleshooting/databases"}]},{"language":"pt","navbar":{"links":[],"primary":{"type":"button","label":"Comece a criar","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"pt","href":"/pt/help/troubleshooting/databases"}]},{"language":"ja","navbar":{"links":[],"primary":{"type":"button","label":"作成を開始","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"ja","href":"/ja/help/troubleshooting/databases"}]},{"language":"ko","navbar":{"links":[],"primary":{"type":"button","label":"빌드 시작하기","href":"https://replit.com?ref=docs"}},"hidden":false,"pages":[{"title":"ko","href":"/ko/help/troubleshooting/databases"}]}]},"basePath":"","title":"Troubleshoot databases - Replit","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":[],"chunks":[]}