[{"data":1,"prerenderedAt":2393},["ShallowReactive",2],{"navigation_docs":3,"-runtypes-drizzle-orm-constraints":399},[4,162,346],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":24},"RPC","icon-park-outline:lightning","\u002Frpc","01.rpc",[10,25,63,77,102,136],{"title":11,"icon":12,"redirect":7,"path":13,"stem":14,"children":15,"page":24},"Introduction","icon-park-outline:home","\u002Frpc\u002Fintroduction","01.rpc\u002F01.introduction",[16,20],{"title":17,"path":18,"stem":19},"Quick Start","\u002Frpc\u002Fintroduction\u002Fquick-start","01.rpc\u002F01.introduction\u002F02.quick-start",{"title":21,"path":22,"stem":23},"Manual Install","\u002Frpc\u002Fintroduction\u002Fmanual-install","01.rpc\u002F01.introduction\u002F03.manual-install",false,{"title":26,"icon":27,"path":28,"stem":29,"children":30,"page":24},"Server","icon-park-outline:server","\u002Frpc\u002Fserver","01.rpc\u002F02.server",[31,35,39,43,47,51,55,59],{"title":32,"path":33,"stem":34},"Routes","\u002Frpc\u002Fserver\u002Froutes","01.rpc\u002F02.server\u002F01.routes",{"title":36,"path":37,"stem":38},"Middleware","\u002Frpc\u002Fserver\u002Fmiddleware","01.rpc\u002F02.server\u002F02.middleware",{"title":40,"path":41,"stem":42},"Call Context","\u002Frpc\u002Fserver\u002Fcall-context","01.rpc\u002F02.server\u002F03.call-context",{"title":44,"path":45,"stem":46},"Headers","\u002Frpc\u002Fserver\u002Fheaders","01.rpc\u002F02.server\u002F04.headers",{"title":48,"path":49,"stem":50},"Error Handling","\u002Frpc\u002Fserver\u002Ferror-handling","01.rpc\u002F02.server\u002F05.error-handling",{"title":52,"path":53,"stem":54},"Validation","\u002Frpc\u002Fserver\u002Fvalidation","01.rpc\u002F02.server\u002F06.validation",{"title":56,"path":57,"stem":58},"JSON Round Trip","\u002Frpc\u002Fserver\u002Fjson-round-trip","01.rpc\u002F02.server\u002F07.json-round-trip",{"title":60,"path":61,"stem":62},"Drizzle Tables","\u002Frpc\u002Fserver\u002Fdrizzle-tables","01.rpc\u002F02.server\u002F08.drizzle-tables",{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":24},"Middlewares","icon-park-outline:link-one","\u002Frpc\u002Fmiddlewares","01.rpc\u002F03.middlewares",[69,73],{"title":70,"path":71,"stem":72},"fetchMetadata","\u002Frpc\u002Fmiddlewares\u002Ffetch-metadata","01.rpc\u002F03.middlewares\u002F01.fetch-metadata",{"title":74,"path":75,"stem":76},"syncRoutes","\u002Frpc\u002Fmiddlewares\u002Fsync-routes","01.rpc\u002F03.middlewares\u002F02.sync-routes",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":24},"Client","icon-park-outline:computer","\u002Frpc\u002Fclient","01.rpc\u002F04.client",[83,87,91,94,98],{"title":84,"path":85,"stem":86},"Client Overview","\u002Frpc\u002Fclient\u002Fclient-overview","01.rpc\u002F04.client\u002F00.client-overview",{"title":88,"path":89,"stem":90},"Client Middleware","\u002Frpc\u002Fclient\u002Fclient-middleware","01.rpc\u002F04.client\u002F01.client-middleware",{"title":48,"path":92,"stem":93},"\u002Frpc\u002Fclient\u002Ferror-handling","01.rpc\u002F04.client\u002F02.error-handling",{"title":95,"path":96,"stem":97},"Batch Requests","\u002Frpc\u002Fclient\u002Fbatch","01.rpc\u002F04.client\u002F03.batch",{"title":99,"path":100,"stem":101},"Cancellation & Timeouts","\u002Frpc\u002Fclient\u002Fcancellation-timeouts","01.rpc\u002F04.client\u002F04.cancellation-timeouts",{"title":103,"redirect":104,"icon":105,"path":106,"stem":107,"children":108,"page":24},"Platforms","\u002Frpc\u002Fplatforms\u002Fnode-js","icon-park-outline:play","\u002Frpc\u002Fplatforms","01.rpc\u002F06.platforms",[109,112,116,120,124,128,132],{"title":110,"path":104,"stem":111},"Node.js","01.rpc\u002F06.platforms\u002F01.node-js",{"title":113,"path":114,"stem":115},"Bun","\u002Frpc\u002Fplatforms\u002Fbun","01.rpc\u002F06.platforms\u002F02.bun",{"title":117,"path":118,"stem":119},"AWS Lambda","\u002Frpc\u002Fplatforms\u002Faws-lambda","01.rpc\u002F06.platforms\u002F03.aws-lambda",{"title":121,"path":122,"stem":123},"Google Cloud Functions","\u002Frpc\u002Fplatforms\u002Fgoogle-cloud-functions","01.rpc\u002F06.platforms\u002F04.google-cloud-functions",{"title":125,"path":126,"stem":127},"Cloudflare Workers","\u002Frpc\u002Fplatforms\u002Fcloudflare","01.rpc\u002F06.platforms\u002F05.cloudflare",{"title":129,"path":130,"stem":131},"Vercel","\u002Frpc\u002Fplatforms\u002Fvercel","01.rpc\u002F06.platforms\u002F06.vercel",{"title":133,"path":134,"stem":135},"uWebSockets.js","\u002Frpc\u002Fplatforms\u002Fuwebsockets","01.rpc\u002F06.platforms\u002F07.uwebsockets",{"title":137,"icon":138,"path":139,"stem":140,"children":141,"page":24},"Devtools","icon-park-outline:tool","\u002Frpc\u002Fdevtools","01.rpc\u002F07.devtools",[142,146,150,154,158],{"title":143,"path":144,"stem":145},"Linter","\u002Frpc\u002Fdevtools\u002Flinter","01.rpc\u002F07.devtools\u002F01.linter",{"title":147,"path":148,"stem":149},"Vite","\u002Frpc\u002Fdevtools\u002Fvite","01.rpc\u002F07.devtools\u002F02.vite",{"title":151,"path":152,"stem":153},"Next.js","\u002Frpc\u002Fdevtools\u002Fnextjs","01.rpc\u002F07.devtools\u002F03.nextjs",{"title":155,"path":156,"stem":157},"CLI","\u002Frpc\u002Fdevtools\u002Fcli","01.rpc\u002F07.devtools\u002F04.cli",{"title":159,"path":160,"stem":161},"API Types","\u002Frpc\u002Fdevtools\u002Fapi-types","01.rpc\u002F07.devtools\u002F05.api-types",{"title":163,"icon":164,"path":165,"stem":166,"children":167,"page":24},"RunTypes","i-lucide-braces","\u002Fruntypes","02.runtypes",[168,184,224,254,268,290,332],{"title":11,"icon":169,"redirect":165,"path":170,"stem":171,"children":172,"page":24},"i-lucide-rocket","\u002Fruntypes\u002Fintroduction","02.runtypes\u002F01.introduction",[173,177,180],{"title":174,"path":175,"stem":176},"Built on typescript-go","\u002Fruntypes\u002Fintroduction\u002Fbuilt-on-typescript-go","02.runtypes\u002F01.introduction\u002F02.built-on-typescript-go",{"title":17,"path":178,"stem":179},"\u002Fruntypes\u002Fintroduction\u002Fquick-start","02.runtypes\u002F01.introduction\u002F03.quick-start",{"title":181,"path":182,"stem":183},"Configuration","\u002Fruntypes\u002Fintroduction\u002Fconfiguration","02.runtypes\u002F01.introduction\u002F04.configuration",{"title":185,"icon":186,"redirect":187,"path":188,"stem":189,"children":190,"page":24},"Guide","i-lucide-book-open","\u002Fruntypes\u002Fguide\u002Ftype-builders","\u002Fruntypes\u002Fguide","02.runtypes\u002F02.guide",[191,194,198,201,204,208,212,216,220],{"title":192,"path":187,"stem":193},"Types vs Type Builders","02.runtypes\u002F02.guide\u002F01.type-builders",{"title":195,"path":196,"stem":197},"Reflection","\u002Fruntypes\u002Fguide\u002Freflection","02.runtypes\u002F02.guide\u002F02.reflection",{"title":52,"path":199,"stem":200},"\u002Fruntypes\u002Fguide\u002Fvalidation","02.runtypes\u002F02.guide\u002F03.validation",{"title":56,"path":202,"stem":203},"\u002Fruntypes\u002Fguide\u002Fjson-round-trip","02.runtypes\u002F02.guide\u002F04.json-round-trip",{"title":205,"path":206,"stem":207},"Data Mocking","\u002Fruntypes\u002Fguide\u002Fmocking","02.runtypes\u002F02.guide\u002F07.mocking",{"title":209,"path":210,"stem":211},"JSON Schemas","\u002Fruntypes\u002Fguide\u002Fjson-schemas","02.runtypes\u002F02.guide\u002F08.json-schemas",{"title":213,"path":214,"stem":215},"Pure Functions","\u002Fruntypes\u002Fguide\u002Fpure-functions","02.runtypes\u002F02.guide\u002F09.pure-functions",{"title":217,"path":218,"stem":219},"Compiler Markers","\u002Fruntypes\u002Fguide\u002Fcompiler-markers","02.runtypes\u002F02.guide\u002F10.compiler-markers",{"title":221,"path":222,"stem":223},"All Compiled Functions","\u002Fruntypes\u002Fguide\u002Fall-compiled-functions","02.runtypes\u002F02.guide\u002F11.all-compiled-functions",{"title":225,"icon":226,"redirect":227,"path":228,"stem":229,"children":230,"page":24},"Type Formats","i-lucide-shapes","\u002Fruntypes\u002Ftype-formats\u002Foverview","\u002Fruntypes\u002Ftype-formats","02.runtypes\u002F03.type-formats",[231,234,238,242,246,250],{"title":232,"path":227,"stem":233},"Overview","02.runtypes\u002F03.type-formats\u002F01.overview",{"title":235,"path":236,"stem":237},"String Formats","\u002Fruntypes\u002Ftype-formats\u002Fstring","02.runtypes\u002F03.type-formats\u002F02.string",{"title":239,"path":240,"stem":241},"Number Formats","\u002Fruntypes\u002Ftype-formats\u002Fnumber","02.runtypes\u002F03.type-formats\u002F03.number",{"title":243,"path":244,"stem":245},"BigInt Formats","\u002Fruntypes\u002Ftype-formats\u002Fbigint","02.runtypes\u002F03.type-formats\u002F04.bigint",{"title":247,"path":248,"stem":249},"Date and Time Formats","\u002Fruntypes\u002Ftype-formats\u002Fdate-time","02.runtypes\u002F03.type-formats\u002F05.date-time",{"title":251,"path":252,"stem":253},"Collection Formats","\u002Fruntypes\u002Ftype-formats\u002Fcollections","02.runtypes\u002F03.type-formats\u002F06.collections",{"title":255,"icon":256,"redirect":257,"path":258,"stem":259,"children":260,"page":24},"Tooling","i-lucide-wrench","\u002Fruntypes\u002Ftooling\u002Flinting","\u002Fruntypes\u002Ftooling","02.runtypes\u002F04.tooling",[261,264],{"title":262,"path":257,"stem":263},"Linting","02.runtypes\u002F04.tooling\u002F01.linting",{"title":265,"path":266,"stem":267},"Source Conversion","\u002Fruntypes\u002Ftooling\u002Fsource-conversion","02.runtypes\u002F04.tooling\u002F02.source-conversion",{"title":269,"icon":270,"redirect":271,"path":272,"stem":273,"children":274,"page":24},"AI Integration","i-lucide-sparkles","\u002Fruntypes\u002Fai-integration\u002Fworkflow-and-commands","\u002Fruntypes\u002Fai-integration","02.runtypes\u002F05.ai-integration",[275,278,282,286],{"title":276,"path":271,"stem":277},"AI Workflow","02.runtypes\u002F05.ai-integration\u002F01.workflow-and-commands",{"title":279,"path":280,"stem":281},"FriendlyText","\u002Fruntypes\u002Fai-integration\u002Ffriendly-text","02.runtypes\u002F05.ai-integration\u002F02.friendly-text",{"title":283,"path":284,"stem":285},"MockData","\u002Fruntypes\u002Fai-integration\u002Fmock-data","02.runtypes\u002F05.ai-integration\u002F03.mock-data",{"title":287,"path":288,"stem":289},"Translations (i18n)","\u002Fruntypes\u002Fai-integration\u002Fi18n","02.runtypes\u002F05.ai-integration\u002F04.i18n",{"title":291,"icon":292,"redirect":293,"path":294,"stem":295,"children":296,"page":24},"Drizzle ORM","i-lineicons-drizzle","\u002Fruntypes\u002Fdrizzle-orm\u002Fdrizzle-overview","\u002Fruntypes\u002Fdrizzle-orm","02.runtypes\u002F06.drizzle-orm",[297,300,304,308,312,316,320,324,328],{"title":298,"path":293,"stem":299},"Drizzle Overview","02.runtypes\u002F06.drizzle-orm\u002F00.drizzle-overview",{"title":301,"path":302,"stem":303},"Column Formats","\u002Fruntypes\u002Fdrizzle-orm\u002Fcolumn-formats","02.runtypes\u002F06.drizzle-orm\u002F01.column-formats",{"title":305,"path":306,"stem":307},"Views","\u002Fruntypes\u002Fdrizzle-orm\u002Fviews","02.runtypes\u002F06.drizzle-orm\u002F02.views",{"title":309,"path":310,"stem":311},"Indexes and Constraints","\u002Fruntypes\u002Fdrizzle-orm\u002Fconstraints","02.runtypes\u002F06.drizzle-orm\u002F03.constraints",{"title":313,"path":314,"stem":315},"Row Level Security","\u002Fruntypes\u002Fdrizzle-orm\u002Frow-level-security","02.runtypes\u002F06.drizzle-orm\u002F04.row-level-security",{"title":317,"path":318,"stem":319},"Relations","\u002Fruntypes\u002Fdrizzle-orm\u002Frelations","02.runtypes\u002F06.drizzle-orm\u002F05.relations",{"title":321,"path":322,"stem":323},"The Schema File","\u002Fruntypes\u002Fdrizzle-orm\u002Fschema-file","02.runtypes\u002F06.drizzle-orm\u002F06.schema-file",{"title":325,"path":326,"stem":327},"Migrate an Existing Schema","\u002Fruntypes\u002Fdrizzle-orm\u002Fmigrate-an-existing-schema","02.runtypes\u002F06.drizzle-orm\u002F07.migrate-an-existing-schema",{"title":329,"path":330,"stem":331},"Cloudflare D1 and Durable Objects","\u002Fruntypes\u002Fdrizzle-orm\u002Fcloudflare-storage","02.runtypes\u002F06.drizzle-orm\u002F08.cloudflare-storage",{"title":333,"icon":334,"redirect":335,"path":336,"stem":337,"children":338,"page":24},"Diagnostics","i-lucide-triangle-alert","\u002Fruntypes\u002Fdiagnostics\u002Ferror-levels","\u002Fruntypes\u002Fdiagnostics","02.runtypes\u002F08.diagnostics",[339,342],{"title":340,"path":335,"stem":341},"Error Levels","02.runtypes\u002F08.diagnostics\u002F01.error-levels",{"title":343,"path":344,"stem":345},"All Diagnostics","\u002Fruntypes\u002Fdiagnostics\u002Fall-diagnostics","02.runtypes\u002F08.diagnostics\u002F02.all-diagnostics",{"title":347,"icon":348,"path":349,"stem":350,"children":351,"page":24},"Benchmarks","i-lucide-gauge","\u002Fbenchmarks","03.benchmarks",[352,372],{"title":5,"icon":6,"redirect":353,"path":354,"stem":355,"children":356,"page":24},"\u002Fbenchmarks\u002Frpc\u002Fhello-world","\u002Fbenchmarks\u002Frpc","03.benchmarks\u002F02.rpc",[357,360,364,368],{"title":358,"path":353,"stem":359},"Hello World","03.benchmarks\u002F02.rpc\u002F01.hello-world",{"title":361,"path":362,"stem":363},"Light Validation","\u002Fbenchmarks\u002Frpc\u002Flight-validation","03.benchmarks\u002F02.rpc\u002F02.light-validation",{"title":365,"path":366,"stem":367},"Heavy Validation","\u002Fbenchmarks\u002Frpc\u002Fheavy-validation","03.benchmarks\u002F02.rpc\u002F03.heavy-validation",{"title":369,"path":370,"stem":371},"Payload Sizes","\u002Fbenchmarks\u002Frpc\u002Fpayload-sizes","03.benchmarks\u002F02.rpc\u002F04.payload-sizes",{"title":163,"icon":164,"redirect":373,"path":374,"stem":375,"children":376,"page":24},"\u002Fbenchmarks\u002Fruntypes\u002Fis-valid","\u002Fbenchmarks\u002Fruntypes","03.benchmarks\u002F03.runtypes",[377,380,384,388,392,395],{"title":378,"path":373,"stem":379},"Is Valid","03.benchmarks\u002F03.runtypes\u002F01.is-valid",{"title":381,"path":382,"stem":383},"Is Valid Formats","\u002Fbenchmarks\u002Fruntypes\u002Fis-valid-formats","03.benchmarks\u002F03.runtypes\u002F02.is-valid-formats",{"title":385,"path":386,"stem":387},"Get Errors","\u002Fbenchmarks\u002Fruntypes\u002Fget-errors","03.benchmarks\u002F03.runtypes\u002F03.get-errors",{"title":389,"path":390,"stem":391},"Get Errors Formats","\u002Fbenchmarks\u002Fruntypes\u002Fget-errors-formats","03.benchmarks\u002F03.runtypes\u002F04.get-errors-formats",{"title":56,"path":393,"stem":394},"\u002Fbenchmarks\u002Fruntypes\u002Fjson-round-trip","03.benchmarks\u002F03.runtypes\u002F05.json-round-trip",{"title":396,"path":397,"stem":398},"Type Checking","\u002Fbenchmarks\u002Fruntypes\u002Ftype-checking","03.benchmarks\u002F03.runtypes\u002F07.type-checking",{"id":400,"title":309,"body":401,"description":2387,"extension":2388,"links":2389,"meta":2390,"navigation":491,"path":310,"seo":2391,"stem":311,"__hash__":2392},"docs\u002F02.runtypes\u002F06.drizzle-orm\u002F03.constraints.md",{"type":402,"value":403,"toc":2381},"minimark",[404,408,1665,1670,1760,1764,1767,1953,1991,1995,1998,2172,2176,2186,2369,2377],[405,406,407],"p",{},"Constraints and indexes go in the table's third argument, a callback that receives the columns and returns an array, with the same names, parameters and chains as Drizzle. They shape the SQL, not the rows you read, so your models do not change.",[409,410,415],"pre",{"className":411,"code":412,"language":413,"meta":414,"style":414},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import * as DZ from '@mionjs\u002Fdrizzle-orm-pg-core';\nimport {sql, tableRef} from '@mionjs\u002Fdrizzle-orm';\n\nexport const teams = DZ.pgTable('teams', {\n  id: DZ.serial('id', {primaryKey: true}),\n  slug: DZ.varchar('slug', {length: 40, notNull: true, unique: true}),\n});\n\nexport const members = DZ.pgTable(\n  'members',\n  {\n    teamId: DZ.integer('team_id', {notNull: true}),\n    userId: DZ.uuid('user_id', {notNull: true}),\n    email: DZ.varchar('email', {length: 200, notNull: true}),\n    age: DZ.integer('age', {notNull: true}),\n    joinedAt: DZ.timestamp('joined_at', {notNull: true, defaultNow: true}),\n  },\n  (t) => [\n    DZ.primaryKey({name: 'members_pk', columns: [t.teamId, t.userId]}),\n\n    DZ.foreignKey({\n      name: 'members_team_fk',\n      columns: [t.teamId],\n      foreignColumns: [tableRef(teams, 'id')],\n    })\n      .onDelete('cascade')\n      .onUpdate('restrict'),\n\n    \u002F\u002F ordered, and only over some rows\n    DZ.index('members_joined_idx')\n      .on(t.joinedAt.desc(), t.email)\n      .where(sql`${t.age} >= 18`),\n\n    DZ.uniqueIndex('members_email_uidx').on(t.email),\n    DZ.unique('members_team_email_uq').on(t.teamId, t.email).nullsNotDistinct(), \u002F\u002F nulls count as equal\n\n    DZ.check('members_age_check', sql`${t.age} >= 0`),\n  ]\n);\n\n\u002F\u002F single-column constraints inline\nexport const invites = DZ.pgTable('invites', {\n  id: DZ.uuid('id', {defaultRandom: true, primaryKey: true}),\n  teamId: DZ.integer('team_id', {\n    references: [\n      () => tableRef(teams, 'id'),\n      {\n        onDelete: 'cascade',\n      },\n    ],\n  }),\n  code: DZ.varchar('code', {\n    length: 12,\n    notNull: true,\n    unique: ['invites_code_uq'],\n  }),\n});\n","ts","",[416,417,418,454,486,493,534,581,642,651,656,677,690,696,737,777,825,864,913,919,937,995,1000,1015,1032,1049,1079,1088,1108,1129,1134,1141,1162,1195,1228,1233,1267,1318,1323,1366,1372,1379,1384,1390,1421,1468,1494,1504,1528,1534,1550,1556,1564,1574,1600,1613,1625,1647,1656],"code",{"__ignoreMap":414},[419,420,423,427,431,434,438,441,444,448,451],"span",{"class":421,"line":422},"line",1,[419,424,426],{"class":425},"s7zQu","import",[419,428,430],{"class":429},"sMK4o"," *",[419,432,433],{"class":425}," as",[419,435,437],{"class":436},"sTEyZ"," DZ ",[419,439,440],{"class":425},"from",[419,442,443],{"class":429}," '",[419,445,447],{"class":446},"sfazB","@mionjs\u002Fdrizzle-orm-pg-core",[419,449,450],{"class":429},"'",[419,452,453],{"class":429},";\n",[419,455,457,459,462,465,468,471,474,477,479,482,484],{"class":421,"line":456},2,[419,458,426],{"class":425},[419,460,461],{"class":429}," {",[419,463,464],{"class":436},"sql",[419,466,467],{"class":429},",",[419,469,470],{"class":436}," tableRef",[419,472,473],{"class":429},"}",[419,475,476],{"class":425}," from",[419,478,443],{"class":429},[419,480,481],{"class":446},"@mionjs\u002Fdrizzle-orm",[419,483,450],{"class":429},[419,485,453],{"class":429},[419,487,489],{"class":421,"line":488},3,[419,490,492],{"emptyLinePlaceholder":491},true,"\n",[419,494,496,499,503,506,509,512,515,519,522,524,527,529,531],{"class":421,"line":495},4,[419,497,498],{"class":425},"export",[419,500,502],{"class":501},"spNyl"," const",[419,504,505],{"class":436}," teams ",[419,507,508],{"class":429},"=",[419,510,511],{"class":436}," DZ",[419,513,514],{"class":429},".",[419,516,518],{"class":517},"s2Zo4","pgTable",[419,520,521],{"class":436},"(",[419,523,450],{"class":429},[419,525,526],{"class":446},"teams",[419,528,450],{"class":429},[419,530,467],{"class":429},[419,532,533],{"class":429}," {\n",[419,535,537,541,544,546,548,551,553,555,558,560,562,564,567,569,573,575,578],{"class":421,"line":536},5,[419,538,540],{"class":539},"swJcz","  id",[419,542,543],{"class":429},":",[419,545,511],{"class":436},[419,547,514],{"class":429},[419,549,550],{"class":517},"serial",[419,552,521],{"class":436},[419,554,450],{"class":429},[419,556,557],{"class":446},"id",[419,559,450],{"class":429},[419,561,467],{"class":429},[419,563,461],{"class":429},[419,565,566],{"class":539},"primaryKey",[419,568,543],{"class":429},[419,570,572],{"class":571},"sfNiH"," true",[419,574,473],{"class":429},[419,576,577],{"class":436},")",[419,579,580],{"class":429},",\n",[419,582,584,587,589,591,593,596,598,600,603,605,607,609,612,614,618,620,623,625,627,629,632,634,636,638,640],{"class":421,"line":583},6,[419,585,586],{"class":539},"  slug",[419,588,543],{"class":429},[419,590,511],{"class":436},[419,592,514],{"class":429},[419,594,595],{"class":517},"varchar",[419,597,521],{"class":436},[419,599,450],{"class":429},[419,601,602],{"class":446},"slug",[419,604,450],{"class":429},[419,606,467],{"class":429},[419,608,461],{"class":429},[419,610,611],{"class":539},"length",[419,613,543],{"class":429},[419,615,617],{"class":616},"sbssI"," 40",[419,619,467],{"class":429},[419,621,622],{"class":539}," notNull",[419,624,543],{"class":429},[419,626,572],{"class":571},[419,628,467],{"class":429},[419,630,631],{"class":539}," unique",[419,633,543],{"class":429},[419,635,572],{"class":571},[419,637,473],{"class":429},[419,639,577],{"class":436},[419,641,580],{"class":429},[419,643,645,647,649],{"class":421,"line":644},7,[419,646,473],{"class":429},[419,648,577],{"class":436},[419,650,453],{"class":429},[419,652,654],{"class":421,"line":653},8,[419,655,492],{"emptyLinePlaceholder":491},[419,657,659,661,663,666,668,670,672,674],{"class":421,"line":658},9,[419,660,498],{"class":425},[419,662,502],{"class":501},[419,664,665],{"class":436}," members ",[419,667,508],{"class":429},[419,669,511],{"class":436},[419,671,514],{"class":429},[419,673,518],{"class":517},[419,675,676],{"class":436},"(\n",[419,678,680,683,686,688],{"class":421,"line":679},10,[419,681,682],{"class":429},"  '",[419,684,685],{"class":446},"members",[419,687,450],{"class":429},[419,689,580],{"class":429},[419,691,693],{"class":421,"line":692},11,[419,694,695],{"class":429},"  {\n",[419,697,699,702,704,706,708,711,713,715,718,720,722,724,727,729,731,733,735],{"class":421,"line":698},12,[419,700,701],{"class":539},"    teamId",[419,703,543],{"class":429},[419,705,511],{"class":436},[419,707,514],{"class":429},[419,709,710],{"class":517},"integer",[419,712,521],{"class":436},[419,714,450],{"class":429},[419,716,717],{"class":446},"team_id",[419,719,450],{"class":429},[419,721,467],{"class":429},[419,723,461],{"class":429},[419,725,726],{"class":539},"notNull",[419,728,543],{"class":429},[419,730,572],{"class":571},[419,732,473],{"class":429},[419,734,577],{"class":436},[419,736,580],{"class":429},[419,738,740,743,745,747,749,752,754,756,759,761,763,765,767,769,771,773,775],{"class":421,"line":739},13,[419,741,742],{"class":539},"    userId",[419,744,543],{"class":429},[419,746,511],{"class":436},[419,748,514],{"class":429},[419,750,751],{"class":517},"uuid",[419,753,521],{"class":436},[419,755,450],{"class":429},[419,757,758],{"class":446},"user_id",[419,760,450],{"class":429},[419,762,467],{"class":429},[419,764,461],{"class":429},[419,766,726],{"class":539},[419,768,543],{"class":429},[419,770,572],{"class":571},[419,772,473],{"class":429},[419,774,577],{"class":436},[419,776,580],{"class":429},[419,778,780,783,785,787,789,791,793,795,798,800,802,804,806,808,811,813,815,817,819,821,823],{"class":421,"line":779},14,[419,781,782],{"class":539},"    email",[419,784,543],{"class":429},[419,786,511],{"class":436},[419,788,514],{"class":429},[419,790,595],{"class":517},[419,792,521],{"class":436},[419,794,450],{"class":429},[419,796,797],{"class":446},"email",[419,799,450],{"class":429},[419,801,467],{"class":429},[419,803,461],{"class":429},[419,805,611],{"class":539},[419,807,543],{"class":429},[419,809,810],{"class":616}," 200",[419,812,467],{"class":429},[419,814,622],{"class":539},[419,816,543],{"class":429},[419,818,572],{"class":571},[419,820,473],{"class":429},[419,822,577],{"class":436},[419,824,580],{"class":429},[419,826,828,831,833,835,837,839,841,843,846,848,850,852,854,856,858,860,862],{"class":421,"line":827},15,[419,829,830],{"class":539},"    age",[419,832,543],{"class":429},[419,834,511],{"class":436},[419,836,514],{"class":429},[419,838,710],{"class":517},[419,840,521],{"class":436},[419,842,450],{"class":429},[419,844,845],{"class":446},"age",[419,847,450],{"class":429},[419,849,467],{"class":429},[419,851,461],{"class":429},[419,853,726],{"class":539},[419,855,543],{"class":429},[419,857,572],{"class":571},[419,859,473],{"class":429},[419,861,577],{"class":436},[419,863,580],{"class":429},[419,865,867,870,872,874,876,879,881,883,886,888,890,892,894,896,898,900,903,905,907,909,911],{"class":421,"line":866},16,[419,868,869],{"class":539},"    joinedAt",[419,871,543],{"class":429},[419,873,511],{"class":436},[419,875,514],{"class":429},[419,877,878],{"class":517},"timestamp",[419,880,521],{"class":436},[419,882,450],{"class":429},[419,884,885],{"class":446},"joined_at",[419,887,450],{"class":429},[419,889,467],{"class":429},[419,891,461],{"class":429},[419,893,726],{"class":539},[419,895,543],{"class":429},[419,897,572],{"class":571},[419,899,467],{"class":429},[419,901,902],{"class":539}," defaultNow",[419,904,543],{"class":429},[419,906,572],{"class":571},[419,908,473],{"class":429},[419,910,577],{"class":436},[419,912,580],{"class":429},[419,914,916],{"class":421,"line":915},17,[419,917,918],{"class":429},"  },\n",[419,920,922,925,929,931,934],{"class":421,"line":921},18,[419,923,924],{"class":429},"  (",[419,926,928],{"class":927},"sHdIc","t",[419,930,577],{"class":429},[419,932,933],{"class":501}," =>",[419,935,936],{"class":436}," [\n",[419,938,940,943,945,947,949,952,955,957,959,962,964,966,969,971,974,976,979,981,984,986,989,991,993],{"class":421,"line":939},19,[419,941,942],{"class":436},"    DZ",[419,944,514],{"class":429},[419,946,566],{"class":517},[419,948,521],{"class":436},[419,950,951],{"class":429},"{",[419,953,954],{"class":539},"name",[419,956,543],{"class":429},[419,958,443],{"class":429},[419,960,961],{"class":446},"members_pk",[419,963,450],{"class":429},[419,965,467],{"class":429},[419,967,968],{"class":539}," columns",[419,970,543],{"class":429},[419,972,973],{"class":436}," [t",[419,975,514],{"class":429},[419,977,978],{"class":436},"teamId",[419,980,467],{"class":429},[419,982,983],{"class":436}," t",[419,985,514],{"class":429},[419,987,988],{"class":436},"userId]",[419,990,473],{"class":429},[419,992,577],{"class":436},[419,994,580],{"class":429},[419,996,998],{"class":421,"line":997},20,[419,999,492],{"emptyLinePlaceholder":491},[419,1001,1003,1005,1007,1010,1012],{"class":421,"line":1002},21,[419,1004,942],{"class":436},[419,1006,514],{"class":429},[419,1008,1009],{"class":517},"foreignKey",[419,1011,521],{"class":436},[419,1013,1014],{"class":429},"{\n",[419,1016,1018,1021,1023,1025,1028,1030],{"class":421,"line":1017},22,[419,1019,1020],{"class":539},"      name",[419,1022,543],{"class":429},[419,1024,443],{"class":429},[419,1026,1027],{"class":446},"members_team_fk",[419,1029,450],{"class":429},[419,1031,580],{"class":429},[419,1033,1035,1038,1040,1042,1044,1047],{"class":421,"line":1034},23,[419,1036,1037],{"class":539},"      columns",[419,1039,543],{"class":429},[419,1041,973],{"class":436},[419,1043,514],{"class":429},[419,1045,1046],{"class":436},"teamId]",[419,1048,580],{"class":429},[419,1050,1052,1055,1057,1060,1063,1066,1068,1070,1072,1074,1077],{"class":421,"line":1051},24,[419,1053,1054],{"class":539},"      foreignColumns",[419,1056,543],{"class":429},[419,1058,1059],{"class":436}," [",[419,1061,1062],{"class":517},"tableRef",[419,1064,1065],{"class":436},"(teams",[419,1067,467],{"class":429},[419,1069,443],{"class":429},[419,1071,557],{"class":446},[419,1073,450],{"class":429},[419,1075,1076],{"class":436},")]",[419,1078,580],{"class":429},[419,1080,1082,1085],{"class":421,"line":1081},25,[419,1083,1084],{"class":429},"    }",[419,1086,1087],{"class":436},")\n",[419,1089,1091,1094,1097,1099,1101,1104,1106],{"class":421,"line":1090},26,[419,1092,1093],{"class":429},"      .",[419,1095,1096],{"class":517},"onDelete",[419,1098,521],{"class":436},[419,1100,450],{"class":429},[419,1102,1103],{"class":446},"cascade",[419,1105,450],{"class":429},[419,1107,1087],{"class":436},[419,1109,1111,1113,1116,1118,1120,1123,1125,1127],{"class":421,"line":1110},27,[419,1112,1093],{"class":429},[419,1114,1115],{"class":517},"onUpdate",[419,1117,521],{"class":436},[419,1119,450],{"class":429},[419,1121,1122],{"class":446},"restrict",[419,1124,450],{"class":429},[419,1126,577],{"class":436},[419,1128,580],{"class":429},[419,1130,1132],{"class":421,"line":1131},28,[419,1133,492],{"emptyLinePlaceholder":491},[419,1135,1137],{"class":421,"line":1136},29,[419,1138,1140],{"class":1139},"sHwdD","    \u002F\u002F ordered, and only over some rows\n",[419,1142,1144,1146,1148,1151,1153,1155,1158,1160],{"class":421,"line":1143},30,[419,1145,942],{"class":436},[419,1147,514],{"class":429},[419,1149,1150],{"class":517},"index",[419,1152,521],{"class":436},[419,1154,450],{"class":429},[419,1156,1157],{"class":446},"members_joined_idx",[419,1159,450],{"class":429},[419,1161,1087],{"class":436},[419,1163,1165,1167,1170,1173,1175,1178,1180,1183,1186,1188,1190,1192],{"class":421,"line":1164},31,[419,1166,1093],{"class":429},[419,1168,1169],{"class":517},"on",[419,1171,1172],{"class":436},"(t",[419,1174,514],{"class":429},[419,1176,1177],{"class":436},"joinedAt",[419,1179,514],{"class":429},[419,1181,1182],{"class":517},"desc",[419,1184,1185],{"class":436},"()",[419,1187,467],{"class":429},[419,1189,983],{"class":436},[419,1191,514],{"class":429},[419,1193,1194],{"class":436},"email)\n",[419,1196,1198,1200,1203,1205,1207,1210,1212,1214,1216,1218,1221,1224,1226],{"class":421,"line":1197},32,[419,1199,1093],{"class":429},[419,1201,1202],{"class":517},"where",[419,1204,521],{"class":436},[419,1206,464],{"class":517},[419,1208,1209],{"class":429},"`${",[419,1211,928],{"class":436},[419,1213,514],{"class":429},[419,1215,845],{"class":436},[419,1217,473],{"class":429},[419,1219,1220],{"class":446}," >= 18",[419,1222,1223],{"class":429},"`",[419,1225,577],{"class":436},[419,1227,580],{"class":429},[419,1229,1231],{"class":421,"line":1230},33,[419,1232,492],{"emptyLinePlaceholder":491},[419,1234,1236,1238,1240,1243,1245,1247,1250,1252,1254,1256,1258,1260,1262,1265],{"class":421,"line":1235},34,[419,1237,942],{"class":436},[419,1239,514],{"class":429},[419,1241,1242],{"class":517},"uniqueIndex",[419,1244,521],{"class":436},[419,1246,450],{"class":429},[419,1248,1249],{"class":446},"members_email_uidx",[419,1251,450],{"class":429},[419,1253,577],{"class":436},[419,1255,514],{"class":429},[419,1257,1169],{"class":517},[419,1259,1172],{"class":436},[419,1261,514],{"class":429},[419,1263,1264],{"class":436},"email)",[419,1266,580],{"class":429},[419,1268,1270,1272,1274,1277,1279,1281,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1311,1313,1315],{"class":421,"line":1269},35,[419,1271,942],{"class":436},[419,1273,514],{"class":429},[419,1275,1276],{"class":517},"unique",[419,1278,521],{"class":436},[419,1280,450],{"class":429},[419,1282,1283],{"class":446},"members_team_email_uq",[419,1285,450],{"class":429},[419,1287,577],{"class":436},[419,1289,514],{"class":429},[419,1291,1169],{"class":517},[419,1293,1172],{"class":436},[419,1295,514],{"class":429},[419,1297,978],{"class":436},[419,1299,467],{"class":429},[419,1301,983],{"class":436},[419,1303,514],{"class":429},[419,1305,1264],{"class":436},[419,1307,514],{"class":429},[419,1309,1310],{"class":517},"nullsNotDistinct",[419,1312,1185],{"class":436},[419,1314,467],{"class":429},[419,1316,1317],{"class":1139}," \u002F\u002F nulls count as equal\n",[419,1319,1321],{"class":421,"line":1320},36,[419,1322,492],{"emptyLinePlaceholder":491},[419,1324,1326,1328,1330,1333,1335,1337,1340,1342,1344,1347,1349,1351,1353,1355,1357,1360,1362,1364],{"class":421,"line":1325},37,[419,1327,942],{"class":436},[419,1329,514],{"class":429},[419,1331,1332],{"class":517},"check",[419,1334,521],{"class":436},[419,1336,450],{"class":429},[419,1338,1339],{"class":446},"members_age_check",[419,1341,450],{"class":429},[419,1343,467],{"class":429},[419,1345,1346],{"class":517}," sql",[419,1348,1209],{"class":429},[419,1350,928],{"class":436},[419,1352,514],{"class":429},[419,1354,845],{"class":436},[419,1356,473],{"class":429},[419,1358,1359],{"class":446}," >= 0",[419,1361,1223],{"class":429},[419,1363,577],{"class":436},[419,1365,580],{"class":429},[419,1367,1369],{"class":421,"line":1368},38,[419,1370,1371],{"class":436},"  ]\n",[419,1373,1375,1377],{"class":421,"line":1374},39,[419,1376,577],{"class":436},[419,1378,453],{"class":429},[419,1380,1382],{"class":421,"line":1381},40,[419,1383,492],{"emptyLinePlaceholder":491},[419,1385,1387],{"class":421,"line":1386},41,[419,1388,1389],{"class":1139},"\u002F\u002F single-column constraints inline\n",[419,1391,1393,1395,1397,1400,1402,1404,1406,1408,1410,1412,1415,1417,1419],{"class":421,"line":1392},42,[419,1394,498],{"class":425},[419,1396,502],{"class":501},[419,1398,1399],{"class":436}," invites ",[419,1401,508],{"class":429},[419,1403,511],{"class":436},[419,1405,514],{"class":429},[419,1407,518],{"class":517},[419,1409,521],{"class":436},[419,1411,450],{"class":429},[419,1413,1414],{"class":446},"invites",[419,1416,450],{"class":429},[419,1418,467],{"class":429},[419,1420,533],{"class":429},[419,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1449,1451,1453,1455,1458,1460,1462,1464,1466],{"class":421,"line":1423},43,[419,1425,540],{"class":539},[419,1427,543],{"class":429},[419,1429,511],{"class":436},[419,1431,514],{"class":429},[419,1433,751],{"class":517},[419,1435,521],{"class":436},[419,1437,450],{"class":429},[419,1439,557],{"class":446},[419,1441,450],{"class":429},[419,1443,467],{"class":429},[419,1445,461],{"class":429},[419,1447,1448],{"class":539},"defaultRandom",[419,1450,543],{"class":429},[419,1452,572],{"class":571},[419,1454,467],{"class":429},[419,1456,1457],{"class":539}," primaryKey",[419,1459,543],{"class":429},[419,1461,572],{"class":571},[419,1463,473],{"class":429},[419,1465,577],{"class":436},[419,1467,580],{"class":429},[419,1469,1471,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492],{"class":421,"line":1470},44,[419,1472,1473],{"class":539},"  teamId",[419,1475,543],{"class":429},[419,1477,511],{"class":436},[419,1479,514],{"class":429},[419,1481,710],{"class":517},[419,1483,521],{"class":436},[419,1485,450],{"class":429},[419,1487,717],{"class":446},[419,1489,450],{"class":429},[419,1491,467],{"class":429},[419,1493,533],{"class":429},[419,1495,1497,1500,1502],{"class":421,"line":1496},45,[419,1498,1499],{"class":539},"    references",[419,1501,543],{"class":429},[419,1503,936],{"class":436},[419,1505,1507,1510,1512,1514,1516,1518,1520,1522,1524,1526],{"class":421,"line":1506},46,[419,1508,1509],{"class":429},"      ()",[419,1511,933],{"class":501},[419,1513,470],{"class":517},[419,1515,1065],{"class":436},[419,1517,467],{"class":429},[419,1519,443],{"class":429},[419,1521,557],{"class":446},[419,1523,450],{"class":429},[419,1525,577],{"class":436},[419,1527,580],{"class":429},[419,1529,1531],{"class":421,"line":1530},47,[419,1532,1533],{"class":429},"      {\n",[419,1535,1537,1540,1542,1544,1546,1548],{"class":421,"line":1536},48,[419,1538,1539],{"class":539},"        onDelete",[419,1541,543],{"class":429},[419,1543,443],{"class":429},[419,1545,1103],{"class":446},[419,1547,450],{"class":429},[419,1549,580],{"class":429},[419,1551,1553],{"class":421,"line":1552},49,[419,1554,1555],{"class":429},"      },\n",[419,1557,1559,1562],{"class":421,"line":1558},50,[419,1560,1561],{"class":436},"    ]",[419,1563,580],{"class":429},[419,1565,1567,1570,1572],{"class":421,"line":1566},51,[419,1568,1569],{"class":429},"  }",[419,1571,577],{"class":436},[419,1573,580],{"class":429},[419,1575,1577,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598],{"class":421,"line":1576},52,[419,1578,1579],{"class":539},"  code",[419,1581,543],{"class":429},[419,1583,511],{"class":436},[419,1585,514],{"class":429},[419,1587,595],{"class":517},[419,1589,521],{"class":436},[419,1591,450],{"class":429},[419,1593,416],{"class":446},[419,1595,450],{"class":429},[419,1597,467],{"class":429},[419,1599,533],{"class":429},[419,1601,1603,1606,1608,1611],{"class":421,"line":1602},53,[419,1604,1605],{"class":539},"    length",[419,1607,543],{"class":429},[419,1609,1610],{"class":616}," 12",[419,1612,580],{"class":429},[419,1614,1616,1619,1621,1623],{"class":421,"line":1615},54,[419,1617,1618],{"class":539},"    notNull",[419,1620,543],{"class":429},[419,1622,572],{"class":571},[419,1624,580],{"class":429},[419,1626,1628,1631,1633,1635,1637,1640,1642,1645],{"class":421,"line":1627},55,[419,1629,1630],{"class":539},"    unique",[419,1632,543],{"class":429},[419,1634,1059],{"class":436},[419,1636,450],{"class":429},[419,1638,1639],{"class":446},"invites_code_uq",[419,1641,450],{"class":429},[419,1643,1644],{"class":436},"]",[419,1646,580],{"class":429},[419,1648,1650,1652,1654],{"class":421,"line":1649},56,[419,1651,1569],{"class":429},[419,1653,577],{"class":436},[419,1655,580],{"class":429},[419,1657,1659,1661,1663],{"class":421,"line":1658},57,[419,1660,473],{"class":429},[419,1662,577],{"class":436},[419,1664,453],{"class":429},[1666,1667,1669],"h2",{"id":1668},"index-and-constraint-helpers","Index and Constraint Helpers",[1671,1672,1673,1686],"table",{},[1674,1675,1676],"thead",{},[1677,1678,1679,1683],"tr",{},[1680,1681,1682],"th",{},"Helper",[1680,1684,1685],{},"What it makes",[1687,1688,1689,1700,1710,1720,1730,1740,1750],"tbody",{},[1677,1690,1691,1697],{},[1692,1693,1694],"td",{},[416,1695,1696],{},"index(name)",[1692,1698,1699],{},"a plain index",[1677,1701,1702,1707],{},[1692,1703,1704],{},[416,1705,1706],{},"uniqueIndex(name)",[1692,1708,1709],{},"a unique index",[1677,1711,1712,1717],{},[1692,1713,1714],{},[416,1715,1716],{},"unique(name)",[1692,1718,1719],{},"a unique constraint",[1677,1721,1722,1727],{},[1692,1723,1724],{},[416,1725,1726],{},"primaryKey({name, columns})",[1692,1728,1729],{},"a composite primary key",[1677,1731,1732,1737],{},[1692,1733,1734],{},[416,1735,1736],{},"foreignKey({name, columns, foreignColumns})",[1692,1738,1739],{},"a foreign key",[1677,1741,1742,1747],{},[1692,1743,1744],{},[416,1745,1746],{},"check(name, sql)",[1692,1748,1749],{},"a check constraint",[1677,1751,1752,1757],{},[1692,1753,1754],{},[416,1755,1756],{},"pgPolicy(name, config)",[1692,1758,1759],{},"a row level security policy, PostgreSQL only",[1666,1761,1763],{"id":1762},"index-and-constraint-options","Index and Constraint Options",[405,1765,1766],{},"Indexes take the options PostgreSQL takes:",[409,1768,1770],{"className":411,"code":1769,"language":413,"meta":414,"style":414},"index('idx').on(t.name.desc(), t.age).where(sql`${t.age} >= 18`);\nuniqueIndex('idx').using('hnsw', t.embedding.op('vector_l2_ops'));\nindex('idx').on(t.name).concurrently().with({fillfactor: '70'});\n",[416,1771,1772,1838,1894],{"__ignoreMap":414},[419,1773,1774,1776,1778,1780,1783,1785,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1812,1814,1816,1818,1820,1822,1824,1826,1828,1830,1832,1834,1836],{"class":421,"line":422},[419,1775,1150],{"class":517},[419,1777,521],{"class":436},[419,1779,450],{"class":429},[419,1781,1782],{"class":446},"idx",[419,1784,450],{"class":429},[419,1786,577],{"class":436},[419,1788,514],{"class":429},[419,1790,1169],{"class":517},[419,1792,1172],{"class":436},[419,1794,514],{"class":429},[419,1796,954],{"class":436},[419,1798,514],{"class":429},[419,1800,1182],{"class":517},[419,1802,1185],{"class":436},[419,1804,467],{"class":429},[419,1806,983],{"class":436},[419,1808,514],{"class":429},[419,1810,1811],{"class":436},"age)",[419,1813,514],{"class":429},[419,1815,1202],{"class":517},[419,1817,521],{"class":436},[419,1819,464],{"class":517},[419,1821,1209],{"class":429},[419,1823,928],{"class":436},[419,1825,514],{"class":429},[419,1827,845],{"class":436},[419,1829,473],{"class":429},[419,1831,1220],{"class":446},[419,1833,1223],{"class":429},[419,1835,577],{"class":436},[419,1837,453],{"class":429},[419,1839,1840,1842,1844,1846,1848,1850,1852,1854,1857,1859,1861,1864,1866,1868,1870,1872,1875,1877,1880,1882,1884,1887,1889,1892],{"class":421,"line":456},[419,1841,1242],{"class":517},[419,1843,521],{"class":436},[419,1845,450],{"class":429},[419,1847,1782],{"class":446},[419,1849,450],{"class":429},[419,1851,577],{"class":436},[419,1853,514],{"class":429},[419,1855,1856],{"class":517},"using",[419,1858,521],{"class":436},[419,1860,450],{"class":429},[419,1862,1863],{"class":446},"hnsw",[419,1865,450],{"class":429},[419,1867,467],{"class":429},[419,1869,983],{"class":436},[419,1871,514],{"class":429},[419,1873,1874],{"class":436},"embedding",[419,1876,514],{"class":429},[419,1878,1879],{"class":517},"op",[419,1881,521],{"class":436},[419,1883,450],{"class":429},[419,1885,1886],{"class":446},"vector_l2_ops",[419,1888,450],{"class":429},[419,1890,1891],{"class":436},"))",[419,1893,453],{"class":429},[419,1895,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1919,1921,1924,1926,1928,1931,1933,1935,1938,1940,1942,1945,1947,1949,1951],{"class":421,"line":488},[419,1897,1150],{"class":517},[419,1899,521],{"class":436},[419,1901,450],{"class":429},[419,1903,1782],{"class":446},[419,1905,450],{"class":429},[419,1907,577],{"class":436},[419,1909,514],{"class":429},[419,1911,1169],{"class":517},[419,1913,1172],{"class":436},[419,1915,514],{"class":429},[419,1917,1918],{"class":436},"name)",[419,1920,514],{"class":429},[419,1922,1923],{"class":517},"concurrently",[419,1925,1185],{"class":436},[419,1927,514],{"class":429},[419,1929,1930],{"class":517},"with",[419,1932,521],{"class":436},[419,1934,951],{"class":429},[419,1936,1937],{"class":539},"fillfactor",[419,1939,543],{"class":429},[419,1941,443],{"class":429},[419,1943,1944],{"class":446},"70",[419,1946,450],{"class":429},[419,1948,473],{"class":429},[419,1950,577],{"class":436},[419,1952,453],{"class":429},[405,1954,1955,1956,1959,1960,1959,1963,1959,1966,1969,1970,1973,1974,1969,1977,1980,1981,1984,1985,1969,1988,514],{},"Column position modifiers are ",[416,1957,1958],{},"asc()",", ",[416,1961,1962],{},"desc()",[416,1964,1965],{},"nullsFirst()",[416,1967,1968],{},"nullsLast()"," and ",[416,1971,1972],{},"op()",". Foreign keys take ",[416,1975,1976],{},"onDelete()",[416,1978,1979],{},"onUpdate()",". Unique constraints take ",[416,1982,1983],{},"nullsNotDistinct()",". MySQL indexes also take ",[416,1986,1987],{},"algorithm()",[416,1989,1990],{},"lock()",[1666,1992,1994],{"id":1993},"inline-column-constraints","Inline Column Constraints",[405,1996,1997],{},"A single-column constraint can sit on the column itself:",[409,1999,2001],{"className":411,"code":2000,"language":413,"meta":414,"style":414},"id: uuid('id', {defaultRandom: true, primaryKey: true}),\ncode: varchar('code', {length: 12, notNull: true, unique: ['invites_code_uq']}),\nteamId: integer('team_id', {references: [() => tableRef(teams, 'id'), {onDelete: 'cascade'}]}),\n",[416,2002,2003,2045,2102],{"__ignoreMap":414},[419,2004,2005,2008,2010,2013,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041,2043],{"class":421,"line":422},[419,2006,557],{"class":2007},"sBMFI",[419,2009,543],{"class":429},[419,2011,2012],{"class":517}," uuid",[419,2014,521],{"class":436},[419,2016,450],{"class":429},[419,2018,557],{"class":446},[419,2020,450],{"class":429},[419,2022,467],{"class":429},[419,2024,461],{"class":429},[419,2026,1448],{"class":539},[419,2028,543],{"class":429},[419,2030,572],{"class":571},[419,2032,467],{"class":429},[419,2034,1457],{"class":539},[419,2036,543],{"class":429},[419,2038,572],{"class":571},[419,2040,473],{"class":429},[419,2042,577],{"class":436},[419,2044,580],{"class":429},[419,2046,2047,2049,2051,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100],{"class":421,"line":456},[419,2048,416],{"class":2007},[419,2050,543],{"class":429},[419,2052,2053],{"class":517}," varchar",[419,2055,521],{"class":436},[419,2057,450],{"class":429},[419,2059,416],{"class":446},[419,2061,450],{"class":429},[419,2063,467],{"class":429},[419,2065,461],{"class":429},[419,2067,611],{"class":539},[419,2069,543],{"class":429},[419,2071,1610],{"class":616},[419,2073,467],{"class":429},[419,2075,622],{"class":539},[419,2077,543],{"class":429},[419,2079,572],{"class":571},[419,2081,467],{"class":429},[419,2083,631],{"class":539},[419,2085,543],{"class":429},[419,2087,1059],{"class":436},[419,2089,450],{"class":429},[419,2091,1639],{"class":446},[419,2093,450],{"class":429},[419,2095,1644],{"class":436},[419,2097,473],{"class":429},[419,2099,577],{"class":436},[419,2101,580],{"class":429},[419,2103,2104,2106,2108,2111,2113,2115,2117,2119,2121,2123,2126,2128,2130,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162,2164,2166,2168,2170],{"class":421,"line":488},[419,2105,978],{"class":2007},[419,2107,543],{"class":429},[419,2109,2110],{"class":517}," integer",[419,2112,521],{"class":436},[419,2114,450],{"class":429},[419,2116,717],{"class":446},[419,2118,450],{"class":429},[419,2120,467],{"class":429},[419,2122,461],{"class":429},[419,2124,2125],{"class":539},"references",[419,2127,543],{"class":429},[419,2129,1059],{"class":436},[419,2131,1185],{"class":429},[419,2133,933],{"class":501},[419,2135,470],{"class":517},[419,2137,1065],{"class":436},[419,2139,467],{"class":429},[419,2141,443],{"class":429},[419,2143,557],{"class":446},[419,2145,450],{"class":429},[419,2147,577],{"class":436},[419,2149,467],{"class":429},[419,2151,461],{"class":429},[419,2153,1096],{"class":539},[419,2155,543],{"class":429},[419,2157,443],{"class":429},[419,2159,1103],{"class":446},[419,2161,450],{"class":429},[419,2163,473],{"class":429},[419,2165,1644],{"class":436},[419,2167,473],{"class":429},[419,2169,577],{"class":436},[419,2171,580],{"class":429},[1666,2173,2175],{"id":2174},"referencing-another-table","Referencing Another Table",[405,2177,2178,2179,2182,2183,514],{},"Name a column on another table with ",[416,2180,2181],{},"tableRef(table, 'column')",", which checks the column name against the table. A table's type holds its shape (the name, the columns, the constraints), not the column objects, which keeps that type small across your app. A table type writes the reference as ",[416,2184,2185],{},"references: [TableRef\u003CTeamsTable, 'id'>]",[409,2187,2189],{"className":411,"code":2188,"language":413,"meta":414,"style":414},"import {sql, tableRef} from '@mionjs\u002Fdrizzle-orm';\n\ninteger('team_id', {references: [() => tableRef(teams, 'id')]});\n\u002F\u002F t.teamId: a column of the table you are declaring, from the callback argument\nforeignKey({name: 'members_team_fk', columns: [t.teamId], foreignColumns: [tableRef(teams, 'id')]});\nsql`select ${tableRef(teams, 'code')} from ${teams}`;\n",[416,2190,2191,2215,2219,2265,2270,2329],{"__ignoreMap":414},[419,2192,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213],{"class":421,"line":422},[419,2194,426],{"class":425},[419,2196,461],{"class":429},[419,2198,464],{"class":436},[419,2200,467],{"class":429},[419,2202,470],{"class":436},[419,2204,473],{"class":429},[419,2206,476],{"class":425},[419,2208,443],{"class":429},[419,2210,481],{"class":446},[419,2212,450],{"class":429},[419,2214,453],{"class":429},[419,2216,2217],{"class":421,"line":456},[419,2218,492],{"emptyLinePlaceholder":491},[419,2220,2221,2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251,2253,2255,2257,2259,2261,2263],{"class":421,"line":488},[419,2222,710],{"class":517},[419,2224,521],{"class":436},[419,2226,450],{"class":429},[419,2228,717],{"class":446},[419,2230,450],{"class":429},[419,2232,467],{"class":429},[419,2234,461],{"class":429},[419,2236,2125],{"class":539},[419,2238,543],{"class":429},[419,2240,1059],{"class":436},[419,2242,1185],{"class":429},[419,2244,933],{"class":501},[419,2246,470],{"class":517},[419,2248,1065],{"class":436},[419,2250,467],{"class":429},[419,2252,443],{"class":429},[419,2254,557],{"class":446},[419,2256,450],{"class":429},[419,2258,1076],{"class":436},[419,2260,473],{"class":429},[419,2262,577],{"class":436},[419,2264,453],{"class":429},[419,2266,2267],{"class":421,"line":495},[419,2268,2269],{"class":1139},"\u002F\u002F t.teamId: a column of the table you are declaring, from the callback argument\n",[419,2271,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2305,2307,2309,2311,2313,2315,2317,2319,2321,2323,2325,2327],{"class":421,"line":536},[419,2273,1009],{"class":517},[419,2275,521],{"class":436},[419,2277,951],{"class":429},[419,2279,954],{"class":539},[419,2281,543],{"class":429},[419,2283,443],{"class":429},[419,2285,1027],{"class":446},[419,2287,450],{"class":429},[419,2289,467],{"class":429},[419,2291,968],{"class":539},[419,2293,543],{"class":429},[419,2295,973],{"class":436},[419,2297,514],{"class":429},[419,2299,1046],{"class":436},[419,2301,467],{"class":429},[419,2303,2304],{"class":539}," foreignColumns",[419,2306,543],{"class":429},[419,2308,1059],{"class":436},[419,2310,1062],{"class":517},[419,2312,1065],{"class":436},[419,2314,467],{"class":429},[419,2316,443],{"class":429},[419,2318,557],{"class":446},[419,2320,450],{"class":429},[419,2322,1076],{"class":436},[419,2324,473],{"class":429},[419,2326,577],{"class":436},[419,2328,453],{"class":429},[419,2330,2331,2333,2335,2338,2341,2343,2345,2347,2349,2351,2353,2355,2357,2360,2362,2364,2367],{"class":421,"line":583},[419,2332,464],{"class":517},[419,2334,1223],{"class":429},[419,2336,2337],{"class":446},"select ",[419,2339,2340],{"class":429},"${",[419,2342,1062],{"class":517},[419,2344,1065],{"class":436},[419,2346,467],{"class":429},[419,2348,443],{"class":429},[419,2350,416],{"class":446},[419,2352,450],{"class":429},[419,2354,577],{"class":436},[419,2356,473],{"class":429},[419,2358,2359],{"class":446}," from ",[419,2361,2340],{"class":429},[419,2363,526],{"class":436},[419,2365,2366],{"class":429},"}`",[419,2368,453],{"class":429},[2370,2371,2372,2373,2376],"tip",{},"A column that references its own table needs the return type written out, as in drizzle: ",[416,2374,2375],{},"references: [(): TableRef\u003C'emps', 'id'> => tableRef(emps, 'id')]",". The type takes the table name for the same reason.",[2378,2379,2380],"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":414,"searchDepth":456,"depth":456,"links":2382},[2383,2384,2385,2386],{"id":1668,"depth":456,"text":1669},{"id":1762,"depth":456,"text":1763},{"id":1993,"depth":456,"text":1994},{"id":2174,"depth":456,"text":2175},"Indexes, unique constraints, checks, foreign keys and composite keys, written as in Drizzle.","md",null,{},{"title":309,"description":2387},"3K0mZf5mbU8ScHZD5yiPMlUvrFUUbaokHb3XRhOe7As",1793324366267]