[{"data":1,"prerenderedAt":926},["ShallowReactive",2],{"navigation":3,"\u002Frecipes\u002Fdeploy\u002Fpostgres":208,"\u002Frecipes\u002Fdeploy\u002Fpostgres-surround":921},[4,98,175],{"title":5,"path":6,"stem":7,"children":8,"icon":97},"Guide","\u002Fguide","1.guide\u002F1.index",[9,12,17,22,46,61,79],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fguide\u002Finstallation","1.guide\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Quick start","\u002Fguide\u002Fquick-start","1.guide\u002F3.quick-start","i-lucide-rocket",{"title":23,"path":24,"stem":25,"children":26,"icon":45},"Server","\u002Fguide\u002Fserver","1.guide\u002F4.server\u002F1.index",[27,30,35,40],{"title":28,"path":24,"stem":25,"icon":29},"Usage","i-lucide-server",{"title":31,"path":32,"stem":33,"icon":34},"Config file","\u002Fguide\u002Fserver\u002Fconfig-file","1.guide\u002F4.server\u002F2.config-file","i-lucide-file-cog",{"title":36,"path":37,"stem":38,"icon":39},"Options","\u002Fguide\u002Fserver\u002Foptions","1.guide\u002F4.server\u002F3.options","i-lucide-settings",{"title":41,"path":42,"stem":43,"icon":44},"Advanced","\u002Fguide\u002Fserver\u002Fadvanced","1.guide\u002F4.server\u002F4.advanced","i-lucide-flask-conical",false,{"title":47,"path":48,"stem":49,"children":50,"icon":45},"Client","\u002Fguide\u002Fclient","1.guide\u002F5.client\u002F1.index",[51,53,58],{"title":28,"path":48,"stem":49,"icon":52},"i-lucide-monitor-smartphone",{"title":54,"path":55,"stem":56,"icon":57},"Live queries","\u002Fguide\u002Fclient\u002Flive-queries","1.guide\u002F5.client\u002F2.live-queries","i-lucide-radio",{"title":41,"path":59,"stem":60,"icon":44},"\u002Fguide\u002Fclient\u002Fadvanced","1.guide\u002F5.client\u002F3.advanced",{"title":62,"path":63,"stem":64,"children":65,"icon":45},"Development socket","\u002Fguide\u002Fsocket","1.guide\u002F6.socket\u002F1.index",[66,68,71,74],{"title":28,"path":63,"stem":64,"icon":67},"i-lucide-plug",{"title":36,"path":69,"stem":70,"icon":39},"\u002Fguide\u002Fsocket\u002Foptions","1.guide\u002F6.socket\u002F2.options",{"title":41,"path":72,"stem":73,"icon":44},"\u002Fguide\u002Fsocket\u002Fadvanced","1.guide\u002F6.socket\u002F3.advanced",{"title":75,"path":76,"stem":77,"icon":78},"PGlite in dev, Postgres in prod","\u002Fguide\u002Fsocket\u002Fdevelopment-only","1.guide\u002F6.socket\u002F4.development-only","i-lucide-cloud-upload",{"title":80,"path":81,"stem":82,"children":83,"icon":45},"DevTools & tooling","\u002Fguide\u002Fdevtools","1.guide\u002F7.devtools\u002F1.index",[84,87,92],{"title":85,"path":81,"stem":82,"icon":86},"DevTools tab","i-lucide-wrench",{"title":88,"path":89,"stem":90,"icon":91},"Actions","\u002Fguide\u002Fdevtools\u002Factions","1.guide\u002F7.devtools\u002F2.actions","i-lucide-zap",{"title":93,"path":94,"stem":95,"icon":96},"Terminal","\u002Fguide\u002Fdevtools\u002Fterminal","1.guide\u002F7.devtools\u002F3.terminal","i-lucide-square-terminal","i-lucide-book-open",{"title":99,"icon":100,"path":101,"stem":102,"children":103,"page":45},"Recipes","i-lucide-chef-hat","\u002Frecipes","2.recipes",[104,116,138,159,171],{"title":105,"path":106,"stem":107,"children":108,"icon":45},"Migrations","\u002Frecipes\u002Fmigrations","2.recipes\u002F1.migrations\u002F1.index",[109,111],{"title":28,"path":106,"stem":107,"icon":110},"i-lucide-database-backup",{"title":112,"path":113,"stem":114,"icon":115},"Edited migrations","\u002Frecipes\u002Fmigrations\u002Fedited-migrations","2.recipes\u002F1.migrations\u002F2.edited-migrations","i-lucide-file-diff",{"title":117,"path":118,"stem":119,"children":120,"icon":45},"Testing","\u002Frecipes\u002Ftesting","2.recipes\u002F2.testing\u002F1.index",[121,123,128,133],{"title":28,"path":118,"stem":119,"icon":122},"i-lucide-test-tube",{"title":124,"path":125,"stem":126,"icon":127},"Isolation","\u002Frecipes\u002Ftesting\u002Fisolation","2.recipes\u002F2.testing\u002F2.isolation","i-lucide-git-fork",{"title":129,"path":130,"stem":131,"icon":132},"vitest","\u002Frecipes\u002Ftesting\u002Fvitest","2.recipes\u002F2.testing\u002F3.vitest","i-simple-icons-vitest",{"title":134,"path":135,"stem":136,"icon":137},"@nuxt\u002Ftest-utils","\u002Frecipes\u002Ftesting\u002Fnuxt-test-utils","2.recipes\u002F2.testing\u002F4.nuxt-test-utils","i-simple-icons-nuxt",{"title":139,"path":140,"stem":141,"children":142,"icon":45},"Deploy","\u002Frecipes\u002Fdeploy","2.recipes\u002F3.deploy\u002F1.index",[143,144,149,154],{"title":139,"path":140,"stem":141},{"title":145,"path":146,"stem":147,"icon":148},"Any Postgres","\u002Frecipes\u002Fdeploy\u002Fpostgres","2.recipes\u002F3.deploy\u002F2.postgres","i-lucide-database",{"title":150,"path":151,"stem":152,"icon":153},"Netlify","\u002Frecipes\u002Fdeploy\u002Fnetlify","2.recipes\u002F3.deploy\u002F3.netlify","i-simple-icons-netlify",{"title":155,"path":156,"stem":157,"icon":158},"Neon","\u002Frecipes\u002Fdeploy\u002Fneon","2.recipes\u002F3.deploy\u002F4.neon","i-simple-icons-neon",{"title":160,"path":161,"stem":162,"children":163,"icon":45},"Outside Nuxt","\u002Frecipes\u002Foutside-nuxt","2.recipes\u002F4.outside-nuxt\u002F1.index",[164,167],{"title":165,"path":161,"stem":162,"icon":166},"Config and provider","i-lucide-package",{"title":168,"path":169,"stem":170,"icon":67},"Socket server","\u002Frecipes\u002Foutside-nuxt\u002Fsocket","2.recipes\u002F4.outside-nuxt\u002F2.socket",{"title":172,"path":173,"stem":174,"icon":67},"Nitro's useDatabase","\u002Frecipes\u002Fnitro-database","2.recipes\u002F5.nitro-database",{"title":176,"icon":177,"path":178,"stem":179,"children":180,"page":45},"Reference","i-lucide-code-xml","\u002Freference","3.reference",[181,185,189,193,198,203],{"title":182,"path":183,"stem":184,"icon":34},"Config files","\u002Freference\u002Fconfig-files","3.reference\u002F1.config-files",{"title":186,"path":187,"stem":188,"icon":39},"Module options","\u002Freference\u002Fmodule-options","3.reference\u002F2.module-options",{"title":190,"path":191,"stem":192,"icon":67},"Socket options","\u002Freference\u002Fsocket-options","3.reference\u002F3.socket-options",{"title":194,"path":195,"stem":196,"icon":197},"Exports","\u002Freference\u002Fexports","3.reference\u002F4.exports","i-lucide-boxes",{"title":199,"path":200,"stem":201,"icon":202},"Hooks","\u002Freference\u002Fhooks","3.reference\u002F5.hooks","i-lucide-anchor",{"title":204,"path":205,"stem":206,"icon":207},"Environment","\u002Freference\u002Fenvironment","3.reference\u002F6.environment","i-lucide-variable",{"id":209,"title":145,"body":210,"description":914,"extension":915,"links":916,"meta":917,"navigation":918,"path":146,"seo":919,"stem":147,"__hash__":920},"docs\u002F2.recipes\u002F3.deploy\u002F2.postgres.md",{"type":211,"value":212,"toc":909},"minimark",[213,231,237,382,497,516,527,530,546,693,793,796,818,822,841,897,905],[214,215,216,217,221,222,226,227,230],"p",{},"The default pattern: the ",[218,219,220],"a",{"href":63},"development socket"," exports ",[223,224,225],"code",{},"DATABASE_URL"," in ",[223,228,229],{},"nuxt dev",", your host's environment sets it in production, and you apply the migrations before the new code goes live.",[232,233,235],"h2",{"id":234},"database_url",[223,236,225],{},[238,239,245],"pre",{"className":240,"code":241,"filename":242,"language":243,"meta":244,"style":244},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['nuxt-pglite'],\n  pglite: {\n    server: {\n      enabled: false,\n    },\n    socket: { port: 5433 }, \u002F\u002F exports `DATABASE_URL` in `nuxt dev`\n  },\n})\n","nuxt.config.ts","ts","",[223,246,247,271,299,310,320,334,340,367,373],{"__ignoreMap":244},[248,249,252,256,259,263,267],"span",{"class":250,"line":251},"line",1,[248,253,255],{"class":254},"s7zQu","export",[248,257,258],{"class":254}," default",[248,260,262],{"class":261},"s2Zo4"," defineNuxtConfig",[248,264,266],{"class":265},"sTEyZ","(",[248,268,270],{"class":269},"sMK4o","{\n",[248,272,274,278,281,284,287,291,293,296],{"class":250,"line":273},2,[248,275,277],{"class":276},"swJcz","  modules",[248,279,280],{"class":269},":",[248,282,283],{"class":265}," [",[248,285,286],{"class":269},"'",[248,288,290],{"class":289},"sfazB","nuxt-pglite",[248,292,286],{"class":269},[248,294,295],{"class":265},"]",[248,297,298],{"class":269},",\n",[248,300,302,305,307],{"class":250,"line":301},3,[248,303,304],{"class":276},"  pglite",[248,306,280],{"class":269},[248,308,309],{"class":269}," {\n",[248,311,313,316,318],{"class":250,"line":312},4,[248,314,315],{"class":276},"    server",[248,317,280],{"class":269},[248,319,309],{"class":269},[248,321,323,326,328,332],{"class":250,"line":322},5,[248,324,325],{"class":276},"      enabled",[248,327,280],{"class":269},[248,329,331],{"class":330},"sfNiH"," false",[248,333,298],{"class":269},[248,335,337],{"class":250,"line":336},6,[248,338,339],{"class":269},"    },\n",[248,341,343,346,348,351,354,356,360,363],{"class":250,"line":342},7,[248,344,345],{"class":276},"    socket",[248,347,280],{"class":269},[248,349,350],{"class":269}," {",[248,352,353],{"class":276}," port",[248,355,280],{"class":269},[248,357,359],{"class":358},"sbssI"," 5433",[248,361,362],{"class":269}," },",[248,364,366],{"class":365},"sHwdD"," \u002F\u002F exports `DATABASE_URL` in `nuxt dev`\n",[248,368,370],{"class":250,"line":369},8,[248,371,372],{"class":269},"  },\n",[248,374,376,379],{"class":250,"line":375},9,[248,377,378],{"class":269},"}",[248,380,381],{"class":265},")\n",[238,383,386],{"className":240,"code":384,"filename":385,"language":243,"meta":244,"style":244},"import { drizzle } from 'drizzle-orm\u002Fnode-postgres'\n\nimport { relations } from '..\u002Fdatabase\u002Frelations'\n\nexport function useDB() {\n  return drizzle(process.env.DATABASE_URL!, { relations })\n}\n","server\u002Futils\u002Fdb.ts",[223,387,388,413,419,439,443,459,492],{"__ignoreMap":244},[248,389,390,393,395,398,401,404,407,410],{"class":250,"line":251},[248,391,392],{"class":254},"import",[248,394,350],{"class":269},[248,396,397],{"class":265}," drizzle",[248,399,400],{"class":269}," }",[248,402,403],{"class":254}," from",[248,405,406],{"class":269}," '",[248,408,409],{"class":289},"drizzle-orm\u002Fnode-postgres",[248,411,412],{"class":269},"'\n",[248,414,415],{"class":250,"line":273},[248,416,418],{"emptyLinePlaceholder":417},true,"\n",[248,420,421,423,425,428,430,432,434,437],{"class":250,"line":301},[248,422,392],{"class":254},[248,424,350],{"class":269},[248,426,427],{"class":265}," relations",[248,429,400],{"class":269},[248,431,403],{"class":254},[248,433,406],{"class":269},[248,435,436],{"class":289},"..\u002Fdatabase\u002Frelations",[248,438,412],{"class":269},[248,440,441],{"class":250,"line":312},[248,442,418],{"emptyLinePlaceholder":417},[248,444,445,447,451,454,457],{"class":250,"line":322},[248,446,255],{"class":254},[248,448,450],{"class":449},"spNyl"," function",[248,452,453],{"class":261}," useDB",[248,455,456],{"class":269},"()",[248,458,309],{"class":269},[248,460,461,464,466,468,471,474,477,479,481,484,486,488,490],{"class":250,"line":336},[248,462,463],{"class":254},"  return",[248,465,397],{"class":261},[248,467,266],{"class":276},[248,469,470],{"class":265},"process",[248,472,473],{"class":269},".",[248,475,476],{"class":265},"env",[248,478,473],{"class":269},[248,480,225],{"class":265},[248,482,483],{"class":269},"!,",[248,485,350],{"class":269},[248,487,427],{"class":265},[248,489,400],{"class":269},[248,491,381],{"class":276},[248,493,494],{"class":250,"line":342},[248,495,496],{"class":269},"}\n",[214,498,499,500,502,503,509,510,515],{},"Set ",[223,501,225],{}," in your host's environment to any Postgres reachable from it: ",[218,504,508],{"href":505,"rel":506},"https:\u002F\u002Fsupabase.com",[507],"nofollow","Supabase",", ",[218,511,514],{"href":512,"rel":513},"https:\u002F\u002Frailway.com",[507],"Railway",", a managed instance or your own server, scoped to the server runtime (and to the build, if it migrates). Use the pooled connection string when your provider has one: serverless functions open many short-lived connections.",[214,517,518,519,521,522,473],{},"The same works on any host Nitro supports (Vercel, a Node server, a container, …): the build contains your driver and reads ",[223,520,225],{},", the host provides it. Only the build settings differ; see ",[218,523,526],{"href":524,"rel":525},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fgetting-started\u002Fdeployment",[507],"Nuxt's deployment guide",[232,528,105],{"id":529},"migrations",[214,531,532,533,536,537,542,543,545],{},"Keep the migration files where drizzle-kit writes them, and apply them locally from ",[223,534,535],{},"init"," with ",[218,538,539],{"href":106},[223,540,541],{},"applyMigrations",". The real database gets them from you, with the production ",[223,544,225],{},": in the build command, or in a CI job before the deploy.",[238,547,550],{"className":240,"code":548,"filename":549,"language":243,"meta":244,"style":244},"import { defineConfig } from 'drizzle-kit'\n\nexport default defineConfig({\n  schema: '.\u002Fserver\u002Fdatabase\u002Fschema.ts',\n  out: '.\u002Fserver\u002Fdatabase\u002Fmigrations',\n  dialect: 'postgresql',\n  dbCredentials: {\n    \u002F\u002F the real database in the build or CI, the development socket otherwise\n    url: process.env.DATABASE_URL ?? 'postgres:\u002F\u002Fpostgres@127.0.0.1:5433\u002Fpostgres',\n  },\n})\n","drizzle.config.ts",[223,551,552,572,576,588,604,620,636,645,650,681,686],{"__ignoreMap":244},[248,553,554,556,558,561,563,565,567,570],{"class":250,"line":251},[248,555,392],{"class":254},[248,557,350],{"class":269},[248,559,560],{"class":265}," defineConfig",[248,562,400],{"class":269},[248,564,403],{"class":254},[248,566,406],{"class":269},[248,568,569],{"class":289},"drizzle-kit",[248,571,412],{"class":269},[248,573,574],{"class":250,"line":273},[248,575,418],{"emptyLinePlaceholder":417},[248,577,578,580,582,584,586],{"class":250,"line":301},[248,579,255],{"class":254},[248,581,258],{"class":254},[248,583,560],{"class":261},[248,585,266],{"class":265},[248,587,270],{"class":269},[248,589,590,593,595,597,600,602],{"class":250,"line":312},[248,591,592],{"class":276},"  schema",[248,594,280],{"class":269},[248,596,406],{"class":269},[248,598,599],{"class":289},".\u002Fserver\u002Fdatabase\u002Fschema.ts",[248,601,286],{"class":269},[248,603,298],{"class":269},[248,605,606,609,611,613,616,618],{"class":250,"line":322},[248,607,608],{"class":276},"  out",[248,610,280],{"class":269},[248,612,406],{"class":269},[248,614,615],{"class":289},".\u002Fserver\u002Fdatabase\u002Fmigrations",[248,617,286],{"class":269},[248,619,298],{"class":269},[248,621,622,625,627,629,632,634],{"class":250,"line":336},[248,623,624],{"class":276},"  dialect",[248,626,280],{"class":269},[248,628,406],{"class":269},[248,630,631],{"class":289},"postgresql",[248,633,286],{"class":269},[248,635,298],{"class":269},[248,637,638,641,643],{"class":250,"line":342},[248,639,640],{"class":276},"  dbCredentials",[248,642,280],{"class":269},[248,644,309],{"class":269},[248,646,647],{"class":250,"line":369},[248,648,649],{"class":365},"    \u002F\u002F the real database in the build or CI, the development socket otherwise\n",[248,651,652,655,657,660,662,664,666,669,672,674,677,679],{"class":250,"line":375},[248,653,654],{"class":276},"    url",[248,656,280],{"class":269},[248,658,659],{"class":265}," process",[248,661,473],{"class":269},[248,663,476],{"class":265},[248,665,473],{"class":269},[248,667,668],{"class":265},"DATABASE_URL ",[248,670,671],{"class":269},"??",[248,673,406],{"class":269},[248,675,676],{"class":289},"postgres:\u002F\u002Fpostgres@127.0.0.1:5433\u002Fpostgres",[248,678,286],{"class":269},[248,680,298],{"class":269},[248,682,684],{"class":250,"line":683},10,[248,685,372],{"class":269},[248,687,689,691],{"class":250,"line":688},11,[248,690,378],{"class":269},[248,692,381],{"class":265},[694,695,696,754],"code-group",{},[238,697,702],{"className":698,"code":699,"filename":700,"language":701,"meta":244,"style":244},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"scripts\": {\n    \"build\": \"drizzle-kit migrate && nuxt build\"\n  }\n}\n","package.json (build)","json",[223,703,704,708,723,745,750],{"__ignoreMap":244},[248,705,706],{"class":250,"line":251},[248,707,270],{"class":269},[248,709,710,713,716,719,721],{"class":250,"line":273},[248,711,712],{"class":269},"  \"",[248,714,715],{"class":449},"scripts",[248,717,718],{"class":269},"\"",[248,720,280],{"class":269},[248,722,309],{"class":269},[248,724,725,728,732,734,736,739,742],{"class":250,"line":301},[248,726,727],{"class":269},"    \"",[248,729,731],{"class":730},"sBMFI","build",[248,733,718],{"class":269},[248,735,280],{"class":269},[248,737,738],{"class":269}," \"",[248,740,741],{"class":289},"drizzle-kit migrate && nuxt build",[248,743,744],{"class":269},"\"\n",[248,746,747],{"class":250,"line":312},[248,748,749],{"class":269},"  }\n",[248,751,752],{"class":250,"line":322},[248,753,496],{"class":269},[238,755,760],{"className":756,"code":757,"filename":758,"language":759,"meta":244,"style":244},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","- run: pnpm drizzle-kit migrate\n  env:\n    DATABASE_URL: ${{ secrets.DATABASE_URL }}\n",".github\u002Fworkflows\u002Fdeploy.yml (CI)","yaml",[223,761,762,775,783],{"__ignoreMap":244},[248,763,764,767,770,772],{"class":250,"line":251},[248,765,766],{"class":269},"-",[248,768,769],{"class":276}," run",[248,771,280],{"class":269},[248,773,774],{"class":289}," pnpm drizzle-kit migrate\n",[248,776,777,780],{"class":250,"line":273},[248,778,779],{"class":276},"  env",[248,781,782],{"class":269},":\n",[248,784,785,788,790],{"class":250,"line":301},[248,786,787],{"class":276},"    DATABASE_URL",[248,789,280],{"class":269},[248,791,792],{"class":289}," ${{ secrets.DATABASE_URL }}\n",[214,794,795],{},"The build is the simplest place when it runs with the production variables; a CI job keeps the database credentials out of the build and lets the migration fail before anything is deployed.",[214,797,798,801,802,805,806,808,809,817],{},[223,799,800],{},"drizzle-kit migrate"," keeps its own bookkeeping (",[223,803,804],{},"drizzle.__drizzle_migrations","), separate from the one ",[223,807,541],{}," keeps locally: each database is tracked by the tool that migrates it, from the same files. To use one tool on both sides instead, run ",[218,810,812,536,814],{"href":811},"\u002Frecipes\u002Fmigrations#applying-them-yourself",[223,813,541],{},[223,815,816],{},"fromPool"," from a script in the build command or the CI job.",[232,819,821],{"id":820},"a-local-postgres","A local Postgres",[214,823,824,825,827,828,831,832,836,837,840],{},"Nothing stops you from using a real Postgres in development too, from Docker or a local install: set ",[223,826,225],{}," (a ",[223,829,830],{},".env"," file is enough) and the socket leaves it alone, since each variable is only set while unset. It ",[218,833,835],{"href":834},"\u002Fguide\u002Fsocket#when-a-variable-is-taken","warns"," that the variable is taken; turn ",[223,838,839],{},"socket"," off when you work this way for good. That is a way to check the app against the exact server version you run in production, or to reproduce a bug PGlite does not have.",[238,842,846],{"className":843,"code":844,"filename":93,"language":845,"meta":244,"style":244},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres:17\necho 'DATABASE_URL=postgres:\u002F\u002Fpostgres:postgres@127.0.0.1:5432\u002Fpostgres' >> .env\n","bash",[223,847,848,879],{"__ignoreMap":244},[248,849,850,853,855,858,861,864,867,870,873,876],{"class":250,"line":251},[248,851,852],{"class":730},"docker",[248,854,769],{"class":289},[248,856,857],{"class":289}," -d",[248,859,860],{"class":289}," --name",[248,862,863],{"class":289}," postgres",[248,865,866],{"class":289}," -p",[248,868,869],{"class":289}," 5432:5432",[248,871,872],{"class":289}," -e",[248,874,875],{"class":289}," POSTGRES_PASSWORD=postgres",[248,877,878],{"class":289}," postgres:17\n",[248,880,881,884,886,889,891,894],{"class":250,"line":273},[248,882,883],{"class":261},"echo",[248,885,406],{"class":269},[248,887,888],{"class":289},"DATABASE_URL=postgres:\u002F\u002Fpostgres:postgres@127.0.0.1:5432\u002Fpostgres",[248,890,286],{"class":269},[248,892,893],{"class":269}," >>",[248,895,896],{"class":289}," .env\n",[214,898,899,901,902,904],{},[223,900,535],{}," then does not run against that database: apply the migrations to it with ",[223,903,800],{},", as in production.",[906,907,908],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":244,"searchDepth":251,"depth":273,"links":910},[911,912,913],{"id":234,"depth":273,"text":225},{"id":529,"depth":273,"text":105},{"id":820,"depth":273,"text":821},"Deploy against a Postgres reached through DATABASE_URL, on any host Nitro supports, with the migrations applied from the build or CI.","md",null,{},{"icon":148},{"title":145,"description":914},"F-JRR1pdgUcodfeO_9QnvQSGwKoxJPjZMpetuYenWMU",[922,924],{"title":139,"path":140,"stem":141,"description":923,"children":-1},"[object Object]",{"title":150,"path":151,"stem":152,"description":925,"icon":153,"children":-1},"Netlify Database in production, the socket's netlify preset in development, and the committed migrations applied by Netlify on deploy. This site is the worked example.",1791474261555]