[{"data":1,"prerenderedAt":2598},["ShallowReactive",2],{"navigation_docs_en":3,"-en-tauri-sqlite-orm-querying-data-deleting-data":237,"-en-tauri-sqlite-orm-querying-data-deleting-data-surround":2593},[4,15,69,122],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":14},"Getting Started with Docs","i-lucide-home","/en/getting-started","en/1.getting-started",[10],{"title":11,"path":12,"stem":13,"icon":6},"Introduction","/en/getting-started/introduction","en/1.getting-started/1.introduction",false,{"title":16,"path":17,"stem":18,"children":19,"page":14},"owo-ui Components","/en/owo-ui-components","en/2.owo-ui-components",[20,23],{"title":11,"path":21,"stem":22,"icon":6},"/en/owo-ui-components/introduction","en/2.owo-ui-components/2.introduction",{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":14},"Components","i-lucide-layout","/en/owo-ui-components/components","en/2.owo-ui-components/3.components",[29,33,37,41,45,49,53,57,61,65],{"title":30,"path":31,"stem":32},"Button","/en/owo-ui-components/components/button","en/2.owo-ui-components/3.components/button",{"title":34,"path":35,"stem":36},"Checkbox","/en/owo-ui-components/components/checkbox","en/2.owo-ui-components/3.components/checkbox",{"title":38,"path":39,"stem":40},"Collapsible Container","/en/owo-ui-components/components/collapsible-container","en/2.owo-ui-components/3.components/collapsible-container",{"title":42,"path":43,"stem":44},"Dropdown","/en/owo-ui-components/components/dropdown","en/2.owo-ui-components/3.components/dropdown",{"title":46,"path":47,"stem":48},"Flow Layout","/en/owo-ui-components/components/flow-layout","en/2.owo-ui-components/3.components/flow-layout",{"title":50,"path":51,"stem":52},"Grid Layout","/en/owo-ui-components/components/grid-layout","en/2.owo-ui-components/3.components/grid-layout",{"title":54,"path":55,"stem":56},"Label","/en/owo-ui-components/components/label","en/2.owo-ui-components/3.components/label",{"title":58,"path":59,"stem":60},"Scroll Container","/en/owo-ui-components/components/scroll-container","en/2.owo-ui-components/3.components/scroll-container",{"title":62,"path":63,"stem":64},"Slider","/en/owo-ui-components/components/slider","en/2.owo-ui-components/3.components/slider",{"title":66,"path":67,"stem":68},"Templates","/en/owo-ui-components/components/templates","en/2.owo-ui-components/3.components/templates",{"title":70,"path":71,"stem":72,"children":73,"page":14},"Nexus","/en/nexus","en/3.nexus",[74,77,82],{"title":11,"path":75,"stem":76,"icon":6},"/en/nexus/introduction","en/3.nexus/2.introduction",{"title":78,"path":79,"stem":80,"icon":81},"Deployment","/en/nexus/deployment","en/3.nexus/3.deployment","i-lucide-rocket",{"title":83,"path":84,"stem":85,"children":86,"page":14},"Endpoints","/en/nexus/endpoints","en/3.nexus/endpoints",[87,91,95,99,102,106,110,114,118],{"title":88,"path":89,"stem":90},"Authentication","/en/nexus/endpoints/authentication","en/3.nexus/endpoints/1.authentication",{"title":92,"path":93,"stem":94},"Rate Limiting","/en/nexus/endpoints/rate-limiting","en/3.nexus/endpoints/2.rate-limiting",{"title":96,"path":97,"stem":98},"Error Handling","/en/nexus/endpoints/error-handling","en/3.nexus/endpoints/3.error-handling",{"title":83,"path":100,"stem":101},"/en/nexus/endpoints/_dir","en/3.nexus/endpoints/_dir",{"title":103,"path":104,"stem":105},"Album","/en/nexus/endpoints/albums","en/3.nexus/endpoints/albums",{"title":107,"path":108,"stem":109},"Blog","/en/nexus/endpoints/blog","en/3.nexus/endpoints/blog",{"title":111,"path":112,"stem":113},"Comments","/en/nexus/endpoints/comments","en/3.nexus/endpoints/comments",{"title":115,"path":116,"stem":117},"File Management","/en/nexus/endpoints/file-management","en/3.nexus/endpoints/file-management",{"title":119,"path":120,"stem":121},"Photo Management","/en/nexus/endpoints/photos","en/3.nexus/endpoints/photos",{"title":123,"icon":124,"path":125,"stem":126,"children":127,"page":14},"Tauri SQLite ORM","i-lucide-database","/en/tauri-sqlite-orm","en/4.tauri-sqlite-orm",[128,132,137,141,162,187,232],{"title":11,"path":129,"stem":130,"icon":131},"/en/tauri-sqlite-orm/introduction","en/4.tauri-sqlite-orm/1.introduction","i-lucide-book-open",{"title":133,"path":134,"stem":135,"icon":136},"Installation & Setup","/en/tauri-sqlite-orm/installation-and-setup","en/4.tauri-sqlite-orm/2.installation-and-setup","i-lucide-download",{"title":138,"path":139,"stem":140,"icon":81},"Your First Schema & Query","/en/tauri-sqlite-orm/your-first-schema-and-query","en/4.tauri-sqlite-orm/3.your-first-schema-and-query",{"title":142,"path":143,"stem":144,"children":145,"page":14},"Core Concepts","/en/tauri-sqlite-orm/core-concepts","en/4.tauri-sqlite-orm/4.core-concepts",[146,150,154,158],{"title":147,"path":148,"stem":149},"Defining Schemas","/en/tauri-sqlite-orm/core-concepts/defining-schemas","en/4.tauri-sqlite-orm/4.core-concepts/1.defining-schemas",{"title":151,"path":152,"stem":153},"Column Types & Modifiers","/en/tauri-sqlite-orm/core-concepts/column-types-and-modifiers","en/4.tauri-sqlite-orm/4.core-concepts/2.column-types-and-modifiers",{"title":155,"path":156,"stem":157},"The ORM Instance","/en/tauri-sqlite-orm/core-concepts/the-orm-instance","en/4.tauri-sqlite-orm/4.core-concepts/3.the-orm-instance",{"title":159,"path":160,"stem":161},"Migrations","/en/tauri-sqlite-orm/core-concepts/migrations","en/4.tauri-sqlite-orm/4.core-concepts/4.migrations",{"title":163,"path":164,"stem":165,"children":166,"page":14},"Querying Data","/en/tauri-sqlite-orm/querying-data","en/4.tauri-sqlite-orm/5.querying-data",[167,171,175,179,183],{"title":168,"path":169,"stem":170},"Select","/en/tauri-sqlite-orm/querying-data/selecting-data","en/4.tauri-sqlite-orm/5.querying-data/1.selecting-data",{"title":172,"path":173,"stem":174},"Insert","/en/tauri-sqlite-orm/querying-data/inserting-data","en/4.tauri-sqlite-orm/5.querying-data/2.inserting-data",{"title":176,"path":177,"stem":178},"Update","/en/tauri-sqlite-orm/querying-data/updating-data","en/4.tauri-sqlite-orm/5.querying-data/3.updating-data",{"title":180,"path":181,"stem":182},"Delete","/en/tauri-sqlite-orm/querying-data/deleting-data","en/4.tauri-sqlite-orm/5.querying-data/4.deleting-data",{"title":184,"path":185,"stem":186},"Conditions & Operators","/en/tauri-sqlite-orm/querying-data/conditions-and-operators","en/4.tauri-sqlite-orm/5.querying-data/5.conditions-and-operators",{"title":188,"path":189,"stem":190,"children":191,"page":14},"Advanced Topics","/en/tauri-sqlite-orm/advanced-topics","en/4.tauri-sqlite-orm/6.advanced-topics",[192,196,200,204,208,212,216,220,224,228],{"title":193,"path":194,"stem":195},"Relations","/en/tauri-sqlite-orm/advanced-topics/working-with-relations","en/4.tauri-sqlite-orm/6.advanced-topics/1.working-with-relations",{"title":197,"path":198,"stem":199},"Error Handling & Safety","/en/tauri-sqlite-orm/advanced-topics/error-handling-and-safety","en/4.tauri-sqlite-orm/6.advanced-topics/10.error-handling-and-safety",{"title":201,"path":202,"stem":203},"Joins","/en/tauri-sqlite-orm/advanced-topics/joins","en/4.tauri-sqlite-orm/6.advanced-topics/2.joins",{"title":205,"path":206,"stem":207},"Transactions","/en/tauri-sqlite-orm/advanced-topics/transactions","en/4.tauri-sqlite-orm/6.advanced-topics/3.transactions",{"title":209,"path":210,"stem":211},"Common Table Expressions","/en/tauri-sqlite-orm/advanced-topics/common-table-expressions","en/4.tauri-sqlite-orm/6.advanced-topics/4.common-table-expressions",{"title":213,"path":214,"stem":215},"Raw SQL","/en/tauri-sqlite-orm/advanced-topics/raw-sql","en/4.tauri-sqlite-orm/6.advanced-topics/5.raw-sql",{"title":217,"path":218,"stem":219},"Type Safety & Inference","/en/tauri-sqlite-orm/advanced-topics/type-safety-and-inference","en/4.tauri-sqlite-orm/6.advanced-topics/6.type-safety-and-inference",{"title":221,"path":222,"stem":223},"Schema Management","/en/tauri-sqlite-orm/advanced-topics/manual-schema-management","en/4.tauri-sqlite-orm/6.advanced-topics/7.manual-schema-management",{"title":225,"path":226,"stem":227},"Query Debugging","/en/tauri-sqlite-orm/advanced-topics/query-debugging","en/4.tauri-sqlite-orm/6.advanced-topics/8.query-debugging",{"title":229,"path":230,"stem":231},"Subqueries & Aggregates","/en/tauri-sqlite-orm/advanced-topics/subqueries-and-aggregates","en/4.tauri-sqlite-orm/6.advanced-topics/9.subqueries-and-aggregates",{"title":233,"path":234,"stem":235,"icon":236},"API Reference","/en/tauri-sqlite-orm/api-reference","en/4.tauri-sqlite-orm/7.api-reference","i-lucide-book",{"id":238,"title":180,"body":239,"description":2587,"extension":2588,"links":2589,"meta":2590,"navigation":359,"path":181,"seo":2591,"stem":182,"__hash__":2592},"docs_en/en/4.tauri-sqlite-orm/5.querying-data/4.deleting-data.md",{"type":240,"value":241,"toc":2566},"minimark",[242,251,256,263,442,446,457,555,560,567,610,614,617,891,895,910,916,922,1069,1075,1078,1202,1208,1211,1309,1313,1316,1500,1504,1507,1806,1810,1846,1850,2269,2273,2466,2470,2476,2562],[243,244,245,246,250],"p",{},"The ",[247,248,249],"code",{},"db.delete()"," method allows you to remove records from your database. Like UPDATE, it requires careful use to avoid accidentally deleting all your data.",[252,253,255],"h2",{"id":254},"basic-delete","Basic Delete",[243,257,258,259,262],{},"To delete records, use ",[247,260,261],{},".where()"," to specify which rows to remove:",[264,265,270],"pre",{"className":266,"code":267,"language":268,"meta":269,"style":269},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { db } from '$lib/db';\nimport { users } from '$lib/db/schema';\nimport { eq } from '@type32/tauri-sqlite-orm';\n\n// Delete a specific user\nawait db.delete(users)\n  .where(eq(users._.columns.id, 1))\n  .execute();\n","ts","",[247,271,272,308,331,354,361,368,386,429],{"__ignoreMap":269},[273,274,277,281,285,289,292,295,298,302,305],"span",{"class":275,"line":276},"line",1,[273,278,280],{"class":279},"s7zQu","import",[273,282,284],{"class":283},"sMK4o"," {",[273,286,288],{"class":287},"sTEyZ"," db",[273,290,291],{"class":283}," }",[273,293,294],{"class":279}," from",[273,296,297],{"class":283}," '",[273,299,301],{"class":300},"sfazB","$lib/db",[273,303,304],{"class":283},"'",[273,306,307],{"class":283},";\n",[273,309,311,313,315,318,320,322,324,327,329],{"class":275,"line":310},2,[273,312,280],{"class":279},[273,314,284],{"class":283},[273,316,317],{"class":287}," users",[273,319,291],{"class":283},[273,321,294],{"class":279},[273,323,297],{"class":283},[273,325,326],{"class":300},"$lib/db/schema",[273,328,304],{"class":283},[273,330,307],{"class":283},[273,332,334,336,338,341,343,345,347,350,352],{"class":275,"line":333},3,[273,335,280],{"class":279},[273,337,284],{"class":283},[273,339,340],{"class":287}," eq",[273,342,291],{"class":283},[273,344,294],{"class":279},[273,346,297],{"class":283},[273,348,349],{"class":300},"@type32/tauri-sqlite-orm",[273,351,304],{"class":283},[273,353,307],{"class":283},[273,355,357],{"class":275,"line":356},4,[273,358,360],{"emptyLinePlaceholder":359},true,"\n",[273,362,364],{"class":275,"line":363},5,[273,365,367],{"class":366},"sHwdD","// Delete a specific user\n",[273,369,371,374,376,379,383],{"class":275,"line":370},6,[273,372,373],{"class":279},"await",[273,375,288],{"class":287},[273,377,378],{"class":283},".",[273,380,382],{"class":381},"s2Zo4","delete",[273,384,385],{"class":287},"(users)\n",[273,387,389,392,395,398,401,404,406,409,411,414,416,419,422,426],{"class":275,"line":388},7,[273,390,391],{"class":283},"  .",[273,393,394],{"class":381},"where",[273,396,397],{"class":287},"(",[273,399,400],{"class":381},"eq",[273,402,403],{"class":287},"(users",[273,405,378],{"class":283},[273,407,408],{"class":287},"_",[273,410,378],{"class":283},[273,412,413],{"class":287},"columns",[273,415,378],{"class":283},[273,417,418],{"class":287},"id",[273,420,421],{"class":283},",",[273,423,425],{"class":424},"sbssI"," 1",[273,427,428],{"class":287},"))\n",[273,430,432,434,437,440],{"class":275,"line":431},8,[273,433,391],{"class":283},[273,435,436],{"class":381},"execute",[273,438,439],{"class":287},"()",[273,441,307],{"class":283},[252,443,445],{"id":444},"where-clause-validation","WHERE Clause Validation",[243,447,448,452,453,456],{},[449,450,451],"strong",{},"Critical:"," DELETE queries ",[449,454,455],{},"require"," a WHERE clause by default to prevent accidental data loss.",[264,458,460],{"className":266,"code":459,"language":268,"meta":269,"style":269},"// ❌ This will throw an error!\nawait db.delete(users).execute();\n// Error: DELETE operation on table \"users\" requires a WHERE clause\n\n// ✅ This works - has a WHERE clause\nawait db.delete(users)\n  .where(eq(users._.columns.id, 123))\n  .execute();\n",[247,461,462,467,488,493,497,502,514,545],{"__ignoreMap":269},[273,463,464],{"class":275,"line":276},[273,465,466],{"class":366},"// ❌ This will throw an error!\n",[273,468,469,471,473,475,477,480,482,484,486],{"class":275,"line":310},[273,470,373],{"class":279},[273,472,288],{"class":287},[273,474,378],{"class":283},[273,476,382],{"class":381},[273,478,479],{"class":287},"(users)",[273,481,378],{"class":283},[273,483,436],{"class":381},[273,485,439],{"class":287},[273,487,307],{"class":283},[273,489,490],{"class":275,"line":333},[273,491,492],{"class":366},"// Error: DELETE operation on table \"users\" requires a WHERE clause\n",[273,494,495],{"class":275,"line":356},[273,496,360],{"emptyLinePlaceholder":359},[273,498,499],{"class":275,"line":363},[273,500,501],{"class":366},"// ✅ This works - has a WHERE clause\n",[273,503,504,506,508,510,512],{"class":275,"line":370},[273,505,373],{"class":279},[273,507,288],{"class":287},[273,509,378],{"class":283},[273,511,382],{"class":381},[273,513,385],{"class":287},[273,515,516,518,520,522,524,526,528,530,532,534,536,538,540,543],{"class":275,"line":388},[273,517,391],{"class":283},[273,519,394],{"class":381},[273,521,397],{"class":287},[273,523,400],{"class":381},[273,525,403],{"class":287},[273,527,378],{"class":283},[273,529,408],{"class":287},[273,531,378],{"class":283},[273,533,413],{"class":287},[273,535,378],{"class":283},[273,537,418],{"class":287},[273,539,421],{"class":283},[273,541,542],{"class":424}," 123",[273,544,428],{"class":287},[273,546,547,549,551,553],{"class":275,"line":431},[273,548,391],{"class":283},[273,550,436],{"class":381},[273,552,439],{"class":287},[273,554,307],{"class":283},[556,557,559],"h3",{"id":558},"intentional-global-deletes","Intentional Global Deletes",[243,561,562,563,566],{},"If you genuinely want to delete all rows, use ",[247,564,565],{},".allowGlobalOperation()",":",[264,568,570],{"className":266,"code":569,"language":268,"meta":269,"style":269},"// Clear all temporary cache - explicitly allowed\nawait db.delete(tempCache)\n  .allowGlobalOperation()\n  .execute();\n",[247,571,572,577,590,600],{"__ignoreMap":269},[273,573,574],{"class":275,"line":276},[273,575,576],{"class":366},"// Clear all temporary cache - explicitly allowed\n",[273,578,579,581,583,585,587],{"class":275,"line":310},[273,580,373],{"class":279},[273,582,288],{"class":287},[273,584,378],{"class":283},[273,586,382],{"class":381},[273,588,589],{"class":287},"(tempCache)\n",[273,591,592,594,597],{"class":275,"line":333},[273,593,391],{"class":283},[273,595,596],{"class":381},"allowGlobalOperation",[273,598,599],{"class":287},"()\n",[273,601,602,604,606,608],{"class":275,"line":356},[273,603,391],{"class":283},[273,605,436],{"class":381},[273,607,439],{"class":287},[273,609,307],{"class":283},[252,611,613],{"id":612},"conditional-deletes","Conditional Deletes",[243,615,616],{},"Use operators to delete based on complex conditions:",[264,618,620],{"className":266,"code":619,"language":268,"meta":269,"style":269},"import { and, lt, eq } from '@type32/tauri-sqlite-orm';\n\n// Delete old, inactive users\nawait db.delete(users)\n  .where(\n    and(\n      lt(users._.columns.lastLogin, oneYearAgo),\n      eq(users._.columns.isActive, false)\n    )\n  )\n  .execute();\n\n// Delete unpublished drafts older than 30 days\nawait db.delete(posts)\n  .where(\n    and(\n      eq(posts._.columns.status, 'draft'),\n      lt(posts._.columns.createdAt, thirtyDaysAgo)\n    )\n  )\n  .execute();\n",[247,621,622,652,656,661,673,682,689,717,746,752,758,769,774,780,794,803,810,845,870,875,880],{"__ignoreMap":269},[273,623,624,626,628,631,633,636,638,640,642,644,646,648,650],{"class":275,"line":276},[273,625,280],{"class":279},[273,627,284],{"class":283},[273,629,630],{"class":287}," and",[273,632,421],{"class":283},[273,634,635],{"class":287}," lt",[273,637,421],{"class":283},[273,639,340],{"class":287},[273,641,291],{"class":283},[273,643,294],{"class":279},[273,645,297],{"class":283},[273,647,349],{"class":300},[273,649,304],{"class":283},[273,651,307],{"class":283},[273,653,654],{"class":275,"line":310},[273,655,360],{"emptyLinePlaceholder":359},[273,657,658],{"class":275,"line":333},[273,659,660],{"class":366},"// Delete old, inactive users\n",[273,662,663,665,667,669,671],{"class":275,"line":356},[273,664,373],{"class":279},[273,666,288],{"class":287},[273,668,378],{"class":283},[273,670,382],{"class":381},[273,672,385],{"class":287},[273,674,675,677,679],{"class":275,"line":363},[273,676,391],{"class":283},[273,678,394],{"class":381},[273,680,681],{"class":287},"(\n",[273,683,684,687],{"class":275,"line":370},[273,685,686],{"class":381},"    and",[273,688,681],{"class":287},[273,690,691,694,696,698,700,702,704,706,709,711,714],{"class":275,"line":388},[273,692,693],{"class":381},"      lt",[273,695,403],{"class":287},[273,697,378],{"class":283},[273,699,408],{"class":287},[273,701,378],{"class":283},[273,703,413],{"class":287},[273,705,378],{"class":283},[273,707,708],{"class":287},"lastLogin",[273,710,421],{"class":283},[273,712,713],{"class":287}," oneYearAgo)",[273,715,716],{"class":283},",\n",[273,718,719,722,724,726,728,730,732,734,737,739,743],{"class":275,"line":431},[273,720,721],{"class":381},"      eq",[273,723,403],{"class":287},[273,725,378],{"class":283},[273,727,408],{"class":287},[273,729,378],{"class":283},[273,731,413],{"class":287},[273,733,378],{"class":283},[273,735,736],{"class":287},"isActive",[273,738,421],{"class":283},[273,740,742],{"class":741},"sfNiH"," false",[273,744,745],{"class":287},")\n",[273,747,749],{"class":275,"line":748},9,[273,750,751],{"class":287},"    )\n",[273,753,755],{"class":275,"line":754},10,[273,756,757],{"class":287},"  )\n",[273,759,761,763,765,767],{"class":275,"line":760},11,[273,762,391],{"class":283},[273,764,436],{"class":381},[273,766,439],{"class":287},[273,768,307],{"class":283},[273,770,772],{"class":275,"line":771},12,[273,773,360],{"emptyLinePlaceholder":359},[273,775,777],{"class":275,"line":776},13,[273,778,779],{"class":366},"// Delete unpublished drafts older than 30 days\n",[273,781,783,785,787,789,791],{"class":275,"line":782},14,[273,784,373],{"class":279},[273,786,288],{"class":287},[273,788,378],{"class":283},[273,790,382],{"class":381},[273,792,793],{"class":287},"(posts)\n",[273,795,797,799,801],{"class":275,"line":796},15,[273,798,391],{"class":283},[273,800,394],{"class":381},[273,802,681],{"class":287},[273,804,806,808],{"class":275,"line":805},16,[273,807,686],{"class":381},[273,809,681],{"class":287},[273,811,813,815,818,820,822,824,826,828,831,833,835,838,840,843],{"class":275,"line":812},17,[273,814,721],{"class":381},[273,816,817],{"class":287},"(posts",[273,819,378],{"class":283},[273,821,408],{"class":287},[273,823,378],{"class":283},[273,825,413],{"class":287},[273,827,378],{"class":283},[273,829,830],{"class":287},"status",[273,832,421],{"class":283},[273,834,297],{"class":283},[273,836,837],{"class":300},"draft",[273,839,304],{"class":283},[273,841,842],{"class":287},")",[273,844,716],{"class":283},[273,846,848,850,852,854,856,858,860,862,865,867],{"class":275,"line":847},18,[273,849,693],{"class":381},[273,851,817],{"class":287},[273,853,378],{"class":283},[273,855,408],{"class":287},[273,857,378],{"class":283},[273,859,413],{"class":287},[273,861,378],{"class":283},[273,863,864],{"class":287},"createdAt",[273,866,421],{"class":283},[273,868,869],{"class":287}," thirtyDaysAgo)\n",[273,871,873],{"class":275,"line":872},19,[273,874,751],{"class":287},[273,876,878],{"class":275,"line":877},20,[273,879,757],{"class":287},[273,881,883,885,887,889],{"class":275,"line":882},21,[273,884,391],{"class":283},[273,886,436],{"class":381},[273,888,439],{"class":287},[273,890,307],{"class":283},[252,892,894],{"id":893},"returning-deleted-data","Returning Deleted Data",[243,896,897,898,901,902,905,906,909],{},"Use ",[247,899,900],{},".returning()",", ",[247,903,904],{},".returningAll()",", or ",[247,907,908],{},".returningFirst()"," to get the deleted records before they're removed:",[556,911,913,915],{"id":912},"returningfirst-for-single-row-deletes",[247,914,908],{}," - For Single Row Deletes",[243,917,918,919,921],{},"When deleting a single record, use ",[247,920,908],{}," for cleaner code:",[264,923,925],{"className":266,"code":924,"language":268,"meta":269,"style":269},"// ✅ Clean - returns single object\nconst deletedUser = await db.delete(users)\n  .where(eq(users._.columns.id, 1))\n  .returningFirst();\n\nif (deletedUser) {\n  console.log('Deleted user:', deletedUser.fullName, deletedUser.email);\n  // Could log this for audit purposes\n}\n// Type: InferSelectModel\u003Ctypeof users> | undefined\n",[247,926,927,932,955,985,996,1000,1011,1054,1059,1064],{"__ignoreMap":269},[273,928,929],{"class":275,"line":276},[273,930,931],{"class":366},"// ✅ Clean - returns single object\n",[273,933,934,938,941,944,947,949,951,953],{"class":275,"line":310},[273,935,937],{"class":936},"spNyl","const",[273,939,940],{"class":287}," deletedUser ",[273,942,943],{"class":283},"=",[273,945,946],{"class":279}," await",[273,948,288],{"class":287},[273,950,378],{"class":283},[273,952,382],{"class":381},[273,954,385],{"class":287},[273,956,957,959,961,963,965,967,969,971,973,975,977,979,981,983],{"class":275,"line":333},[273,958,391],{"class":283},[273,960,394],{"class":381},[273,962,397],{"class":287},[273,964,400],{"class":381},[273,966,403],{"class":287},[273,968,378],{"class":283},[273,970,408],{"class":287},[273,972,378],{"class":283},[273,974,413],{"class":287},[273,976,378],{"class":283},[273,978,418],{"class":287},[273,980,421],{"class":283},[273,982,425],{"class":424},[273,984,428],{"class":287},[273,986,987,989,992,994],{"class":275,"line":356},[273,988,391],{"class":283},[273,990,991],{"class":381},"returningFirst",[273,993,439],{"class":287},[273,995,307],{"class":283},[273,997,998],{"class":275,"line":363},[273,999,360],{"emptyLinePlaceholder":359},[273,1001,1002,1005,1008],{"class":275,"line":370},[273,1003,1004],{"class":279},"if",[273,1006,1007],{"class":287}," (deletedUser) ",[273,1009,1010],{"class":283},"{\n",[273,1012,1013,1016,1018,1021,1024,1026,1029,1031,1033,1036,1038,1041,1043,1045,1047,1050,1052],{"class":275,"line":388},[273,1014,1015],{"class":287},"  console",[273,1017,378],{"class":283},[273,1019,1020],{"class":381},"log",[273,1022,397],{"class":1023},"swJcz",[273,1025,304],{"class":283},[273,1027,1028],{"class":300},"Deleted user:",[273,1030,304],{"class":283},[273,1032,421],{"class":283},[273,1034,1035],{"class":287}," deletedUser",[273,1037,378],{"class":283},[273,1039,1040],{"class":287},"fullName",[273,1042,421],{"class":283},[273,1044,1035],{"class":287},[273,1046,378],{"class":283},[273,1048,1049],{"class":287},"email",[273,1051,842],{"class":1023},[273,1053,307],{"class":283},[273,1055,1056],{"class":275,"line":431},[273,1057,1058],{"class":366},"  // Could log this for audit purposes\n",[273,1060,1061],{"class":275,"line":748},[273,1062,1063],{"class":283},"}\n",[273,1065,1066],{"class":275,"line":754},[273,1067,1068],{"class":366},"// Type: InferSelectModel\u003Ctypeof users> | undefined\n",[556,1070,1072,1074],{"id":1071},"returningall-for-multiple-rows",[247,1073,904],{}," - For Multiple Rows",[243,1076,1077],{},"When deleting multiple records:",[264,1079,1081],{"className":266,"code":1080,"language":268,"meta":269,"style":269},"// Get all deleted user data\nconst deletedUsers = await db.delete(users)\n  .where(eq(users._.columns.status, 'banned'))\n  .returningAll();\n\nconsole.log(`Deleted ${deletedUsers.length} banned users`);\n// Type: InferSelectModel\u003Ctypeof users>[]\n",[247,1082,1083,1088,1107,1142,1153,1157,1197],{"__ignoreMap":269},[273,1084,1085],{"class":275,"line":276},[273,1086,1087],{"class":366},"// Get all deleted user data\n",[273,1089,1090,1092,1095,1097,1099,1101,1103,1105],{"class":275,"line":310},[273,1091,937],{"class":936},[273,1093,1094],{"class":287}," deletedUsers ",[273,1096,943],{"class":283},[273,1098,946],{"class":279},[273,1100,288],{"class":287},[273,1102,378],{"class":283},[273,1104,382],{"class":381},[273,1106,385],{"class":287},[273,1108,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131,1133,1135,1138,1140],{"class":275,"line":333},[273,1110,391],{"class":283},[273,1112,394],{"class":381},[273,1114,397],{"class":287},[273,1116,400],{"class":381},[273,1118,403],{"class":287},[273,1120,378],{"class":283},[273,1122,408],{"class":287},[273,1124,378],{"class":283},[273,1126,413],{"class":287},[273,1128,378],{"class":283},[273,1130,830],{"class":287},[273,1132,421],{"class":283},[273,1134,297],{"class":283},[273,1136,1137],{"class":300},"banned",[273,1139,304],{"class":283},[273,1141,428],{"class":287},[273,1143,1144,1146,1149,1151],{"class":275,"line":356},[273,1145,391],{"class":283},[273,1147,1148],{"class":381},"returningAll",[273,1150,439],{"class":287},[273,1152,307],{"class":283},[273,1154,1155],{"class":275,"line":363},[273,1156,360],{"emptyLinePlaceholder":359},[273,1158,1159,1162,1164,1166,1168,1171,1174,1177,1180,1182,1185,1188,1191,1193,1195],{"class":275,"line":370},[273,1160,1161],{"class":287},"console",[273,1163,378],{"class":283},[273,1165,1020],{"class":381},[273,1167,397],{"class":287},[273,1169,1170],{"class":283},"`",[273,1172,1173],{"class":300},"Deleted ",[273,1175,1176],{"class":283},"${",[273,1178,1179],{"class":287},"deletedUsers",[273,1181,378],{"class":283},[273,1183,1184],{"class":287},"length",[273,1186,1187],{"class":283},"}",[273,1189,1190],{"class":300}," banned users",[273,1192,1170],{"class":283},[273,1194,842],{"class":287},[273,1196,307],{"class":283},[273,1198,1199],{"class":275,"line":388},[273,1200,1201],{"class":366},"// Type: InferSelectModel\u003Ctypeof users>[]\n",[556,1203,1205,1207],{"id":1204},"returning-for-specific-columns",[247,1206,900],{}," - For Specific Columns",[243,1209,1210],{},"Return only the columns you need:",[264,1212,1214],{"className":266,"code":1213,"language":268,"meta":269,"style":269},"// Return specific columns only\nconst deletedInfo = await db.delete(users)\n  .where(eq(users._.columns.status, 'banned'))\n  .returning('id', 'email')\n  .execute();\n",[247,1215,1216,1221,1240,1274,1299],{"__ignoreMap":269},[273,1217,1218],{"class":275,"line":276},[273,1219,1220],{"class":366},"// Return specific columns only\n",[273,1222,1223,1225,1228,1230,1232,1234,1236,1238],{"class":275,"line":310},[273,1224,937],{"class":936},[273,1226,1227],{"class":287}," deletedInfo ",[273,1229,943],{"class":283},[273,1231,946],{"class":279},[273,1233,288],{"class":287},[273,1235,378],{"class":283},[273,1237,382],{"class":381},[273,1239,385],{"class":287},[273,1241,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272],{"class":275,"line":333},[273,1243,391],{"class":283},[273,1245,394],{"class":381},[273,1247,397],{"class":287},[273,1249,400],{"class":381},[273,1251,403],{"class":287},[273,1253,378],{"class":283},[273,1255,408],{"class":287},[273,1257,378],{"class":283},[273,1259,413],{"class":287},[273,1261,378],{"class":283},[273,1263,830],{"class":287},[273,1265,421],{"class":283},[273,1267,297],{"class":283},[273,1269,1137],{"class":300},[273,1271,304],{"class":283},[273,1273,428],{"class":287},[273,1275,1276,1278,1281,1283,1285,1287,1289,1291,1293,1295,1297],{"class":275,"line":356},[273,1277,391],{"class":283},[273,1279,1280],{"class":381},"returning",[273,1282,397],{"class":287},[273,1284,304],{"class":283},[273,1286,418],{"class":300},[273,1288,304],{"class":283},[273,1290,421],{"class":283},[273,1292,297],{"class":283},[273,1294,1049],{"class":300},[273,1296,304],{"class":283},[273,1298,745],{"class":287},[273,1300,1301,1303,1305,1307],{"class":275,"line":363},[273,1302,391],{"class":283},[273,1304,436],{"class":381},[273,1306,439],{"class":287},[273,1308,307],{"class":283},[252,1310,1312],{"id":1311},"soft-deletes","Soft Deletes",[243,1314,1315],{},"Instead of actually deleting rows, you might want to mark them as deleted (soft delete):",[264,1317,1319],{"className":266,"code":1318,"language":268,"meta":269,"style":269},"// Instead of deleting, mark as deleted\nawait db.update(users)\n  .set({ \n    deletedAt: new Date(),\n    isDeleted: true \n  })\n  .where(eq(users._.columns.id, userId))\n  .execute();\n\n// Query only non-deleted users\nconst activeUsers = await db.select(users)\n  .where(eq(users._.columns.isDeleted, false))\n  .all();\n",[247,1320,1321,1326,1339,1354,1371,1383,1390,1419,1429,1433,1438,1458,1489],{"__ignoreMap":269},[273,1322,1323],{"class":275,"line":276},[273,1324,1325],{"class":366},"// Instead of deleting, mark as deleted\n",[273,1327,1328,1330,1332,1334,1337],{"class":275,"line":310},[273,1329,373],{"class":279},[273,1331,288],{"class":287},[273,1333,378],{"class":283},[273,1335,1336],{"class":381},"update",[273,1338,385],{"class":287},[273,1340,1341,1343,1346,1348,1351],{"class":275,"line":333},[273,1342,391],{"class":283},[273,1344,1345],{"class":381},"set",[273,1347,397],{"class":287},[273,1349,1350],{"class":283},"{",[273,1352,1353],{"class":287}," \n",[273,1355,1356,1359,1361,1364,1367,1369],{"class":275,"line":356},[273,1357,1358],{"class":1023},"    deletedAt",[273,1360,566],{"class":283},[273,1362,1363],{"class":283}," new",[273,1365,1366],{"class":381}," Date",[273,1368,439],{"class":287},[273,1370,716],{"class":283},[273,1372,1373,1376,1378,1381],{"class":275,"line":363},[273,1374,1375],{"class":1023},"    isDeleted",[273,1377,566],{"class":283},[273,1379,1380],{"class":741}," true",[273,1382,1353],{"class":287},[273,1384,1385,1388],{"class":275,"line":370},[273,1386,1387],{"class":283},"  }",[273,1389,745],{"class":287},[273,1391,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416],{"class":275,"line":388},[273,1393,391],{"class":283},[273,1395,394],{"class":381},[273,1397,397],{"class":287},[273,1399,400],{"class":381},[273,1401,403],{"class":287},[273,1403,378],{"class":283},[273,1405,408],{"class":287},[273,1407,378],{"class":283},[273,1409,413],{"class":287},[273,1411,378],{"class":283},[273,1413,418],{"class":287},[273,1415,421],{"class":283},[273,1417,1418],{"class":287}," userId))\n",[273,1420,1421,1423,1425,1427],{"class":275,"line":431},[273,1422,391],{"class":283},[273,1424,436],{"class":381},[273,1426,439],{"class":287},[273,1428,307],{"class":283},[273,1430,1431],{"class":275,"line":748},[273,1432,360],{"emptyLinePlaceholder":359},[273,1434,1435],{"class":275,"line":754},[273,1436,1437],{"class":366},"// Query only non-deleted users\n",[273,1439,1440,1442,1445,1447,1449,1451,1453,1456],{"class":275,"line":760},[273,1441,937],{"class":936},[273,1443,1444],{"class":287}," activeUsers ",[273,1446,943],{"class":283},[273,1448,946],{"class":279},[273,1450,288],{"class":287},[273,1452,378],{"class":283},[273,1454,1455],{"class":381},"select",[273,1457,385],{"class":287},[273,1459,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1483,1485,1487],{"class":275,"line":771},[273,1461,391],{"class":283},[273,1463,394],{"class":381},[273,1465,397],{"class":287},[273,1467,400],{"class":381},[273,1469,403],{"class":287},[273,1471,378],{"class":283},[273,1473,408],{"class":287},[273,1475,378],{"class":283},[273,1477,413],{"class":287},[273,1479,378],{"class":283},[273,1481,1482],{"class":287},"isDeleted",[273,1484,421],{"class":283},[273,1486,742],{"class":741},[273,1488,428],{"class":287},[273,1490,1491,1493,1496,1498],{"class":275,"line":776},[273,1492,391],{"class":283},[273,1494,1495],{"class":381},"all",[273,1497,439],{"class":287},[273,1499,307],{"class":283},[252,1501,1503],{"id":1502},"cascade-deletes","Cascade Deletes",[243,1505,1506],{},"SQLite supports foreign key constraints with CASCADE. Define them in your schema:",[264,1508,1510],{"className":266,"code":1509,"language":268,"meta":269,"style":269},"import { sqliteTable, integer, text } from '@type32/tauri-sqlite-orm';\n\nexport const users = sqliteTable('users', {\n  id: integer('id').primaryKey().autoincrement(),\n  name: text('name').notNull(),\n});\n\nexport const posts = sqliteTable('posts', {\n  id: integer('id').primaryKey().autoincrement(),\n  title: text('title').notNull(),\n  authorId: integer('author_id').notNull().references(() => users._.columns.id),\n  // When a user is deleted, their posts will also be deleted (if CASCADE is enabled in SQLite)\n});\n",[247,1511,1512,1543,1547,1576,1611,1640,1648,1652,1678,1710,1738,1793,1798],{"__ignoreMap":269},[273,1513,1514,1516,1518,1521,1523,1526,1528,1531,1533,1535,1537,1539,1541],{"class":275,"line":276},[273,1515,280],{"class":279},[273,1517,284],{"class":283},[273,1519,1520],{"class":287}," sqliteTable",[273,1522,421],{"class":283},[273,1524,1525],{"class":287}," integer",[273,1527,421],{"class":283},[273,1529,1530],{"class":287}," text",[273,1532,291],{"class":283},[273,1534,294],{"class":279},[273,1536,297],{"class":283},[273,1538,349],{"class":300},[273,1540,304],{"class":283},[273,1542,307],{"class":283},[273,1544,1545],{"class":275,"line":310},[273,1546,360],{"emptyLinePlaceholder":359},[273,1548,1549,1552,1555,1558,1560,1562,1564,1566,1569,1571,1573],{"class":275,"line":333},[273,1550,1551],{"class":279},"export",[273,1553,1554],{"class":936}," const",[273,1556,1557],{"class":287}," users ",[273,1559,943],{"class":283},[273,1561,1520],{"class":381},[273,1563,397],{"class":287},[273,1565,304],{"class":283},[273,1567,1568],{"class":300},"users",[273,1570,304],{"class":283},[273,1572,421],{"class":283},[273,1574,1575],{"class":283}," {\n",[273,1577,1578,1581,1583,1585,1587,1589,1591,1593,1595,1597,1600,1602,1604,1607,1609],{"class":275,"line":356},[273,1579,1580],{"class":1023},"  id",[273,1582,566],{"class":283},[273,1584,1525],{"class":381},[273,1586,397],{"class":287},[273,1588,304],{"class":283},[273,1590,418],{"class":300},[273,1592,304],{"class":283},[273,1594,842],{"class":287},[273,1596,378],{"class":283},[273,1598,1599],{"class":381},"primaryKey",[273,1601,439],{"class":287},[273,1603,378],{"class":283},[273,1605,1606],{"class":381},"autoincrement",[273,1608,439],{"class":287},[273,1610,716],{"class":283},[273,1612,1613,1616,1618,1620,1622,1624,1627,1629,1631,1633,1636,1638],{"class":275,"line":363},[273,1614,1615],{"class":1023},"  name",[273,1617,566],{"class":283},[273,1619,1530],{"class":381},[273,1621,397],{"class":287},[273,1623,304],{"class":283},[273,1625,1626],{"class":300},"name",[273,1628,304],{"class":283},[273,1630,842],{"class":287},[273,1632,378],{"class":283},[273,1634,1635],{"class":381},"notNull",[273,1637,439],{"class":287},[273,1639,716],{"class":283},[273,1641,1642,1644,1646],{"class":275,"line":370},[273,1643,1187],{"class":283},[273,1645,842],{"class":287},[273,1647,307],{"class":283},[273,1649,1650],{"class":275,"line":388},[273,1651,360],{"emptyLinePlaceholder":359},[273,1653,1654,1656,1658,1661,1663,1665,1667,1669,1672,1674,1676],{"class":275,"line":431},[273,1655,1551],{"class":279},[273,1657,1554],{"class":936},[273,1659,1660],{"class":287}," posts ",[273,1662,943],{"class":283},[273,1664,1520],{"class":381},[273,1666,397],{"class":287},[273,1668,304],{"class":283},[273,1670,1671],{"class":300},"posts",[273,1673,304],{"class":283},[273,1675,421],{"class":283},[273,1677,1575],{"class":283},[273,1679,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708],{"class":275,"line":748},[273,1681,1580],{"class":1023},[273,1683,566],{"class":283},[273,1685,1525],{"class":381},[273,1687,397],{"class":287},[273,1689,304],{"class":283},[273,1691,418],{"class":300},[273,1693,304],{"class":283},[273,1695,842],{"class":287},[273,1697,378],{"class":283},[273,1699,1599],{"class":381},[273,1701,439],{"class":287},[273,1703,378],{"class":283},[273,1705,1606],{"class":381},[273,1707,439],{"class":287},[273,1709,716],{"class":283},[273,1711,1712,1715,1717,1719,1721,1723,1726,1728,1730,1732,1734,1736],{"class":275,"line":754},[273,1713,1714],{"class":1023},"  title",[273,1716,566],{"class":283},[273,1718,1530],{"class":381},[273,1720,397],{"class":287},[273,1722,304],{"class":283},[273,1724,1725],{"class":300},"title",[273,1727,304],{"class":283},[273,1729,842],{"class":287},[273,1731,378],{"class":283},[273,1733,1635],{"class":381},[273,1735,439],{"class":287},[273,1737,716],{"class":283},[273,1739,1740,1743,1745,1747,1749,1751,1754,1756,1758,1760,1762,1764,1766,1769,1771,1773,1776,1778,1780,1782,1784,1786,1788,1791],{"class":275,"line":760},[273,1741,1742],{"class":1023},"  authorId",[273,1744,566],{"class":283},[273,1746,1525],{"class":381},[273,1748,397],{"class":287},[273,1750,304],{"class":283},[273,1752,1753],{"class":300},"author_id",[273,1755,304],{"class":283},[273,1757,842],{"class":287},[273,1759,378],{"class":283},[273,1761,1635],{"class":381},[273,1763,439],{"class":287},[273,1765,378],{"class":283},[273,1767,1768],{"class":381},"references",[273,1770,397],{"class":287},[273,1772,439],{"class":283},[273,1774,1775],{"class":936}," =>",[273,1777,317],{"class":287},[273,1779,378],{"class":283},[273,1781,408],{"class":287},[273,1783,378],{"class":283},[273,1785,413],{"class":287},[273,1787,378],{"class":283},[273,1789,1790],{"class":287},"id)",[273,1792,716],{"class":283},[273,1794,1795],{"class":275,"line":771},[273,1796,1797],{"class":366},"  // When a user is deleted, their posts will also be deleted (if CASCADE is enabled in SQLite)\n",[273,1799,1800,1802,1804],{"class":275,"line":776},[273,1801,1187],{"class":283},[273,1803,842],{"class":287},[273,1805,307],{"class":283},[252,1807,1809],{"id":1808},"best-practices","Best Practices",[1811,1812,1813,1820,1826,1834,1840],"ol",{},[1814,1815,1816,1819],"li",{},[449,1817,1818],{},"Always use WHERE clauses"," - Prevents accidental data loss",[1814,1821,1822,1825],{},[449,1823,1824],{},"Consider soft deletes"," - For user data that might need recovery",[1814,1827,1828,1833],{},[449,1829,897,1830,1832],{},[247,1831,904],{}," for audit logs"," - Keep track of what was deleted",[1814,1835,1836,1839],{},[449,1837,1838],{},"Test delete operations"," - Verify you're deleting the right data",[1814,1841,1842,1845],{},[449,1843,1844],{},"Use transactions for related deletes"," - Ensure atomicity",[252,1847,1849],{"id":1848},"example-safe-user-deletion","Example: Safe User Deletion",[264,1851,1853],{"className":266,"code":1852,"language":268,"meta":269,"style":269},"async function deleteUser(userId: number) {\n  // 1. Check if user exists\n  const user = await db.select(users)\n    .where(eq(users._.columns.id, userId))\n    .first();\n\n  if (!user) {\n    throw new Error('User not found');\n  }\n  \n  // 2. Delete in a transaction to ensure atomicity\n  return await db.transaction(async (tx) => {\n    // Delete user's posts\n    await tx.delete(posts)\n      .where(eq(posts._.columns.authorId, userId))\n      .execute();\n    \n    // Delete the user and return their data (single record)\n    const deletedUser = await tx.delete(users)\n      .where(eq(users._.columns.id, userId))\n      .returningFirst();\n    \n    if (!deletedUser) {\n      throw new Error('Delete failed');\n    }\n    \n    return deletedUser;\n  });\n}\n",[247,1854,1855,1882,1887,1912,1946,1957,1961,1980,2003,2008,2013,2018,2047,2052,2070,2104,2114,2119,2124,2147,2179,2189,2194,2211,2234,2240,2245,2255,2264],{"__ignoreMap":269},[273,1856,1857,1860,1863,1866,1868,1872,1874,1878,1880],{"class":275,"line":276},[273,1858,1859],{"class":936},"async",[273,1861,1862],{"class":936}," function",[273,1864,1865],{"class":381}," deleteUser",[273,1867,397],{"class":283},[273,1869,1871],{"class":1870},"sHdIc","userId",[273,1873,566],{"class":283},[273,1875,1877],{"class":1876},"sBMFI"," number",[273,1879,842],{"class":283},[273,1881,1575],{"class":283},[273,1883,1884],{"class":275,"line":310},[273,1885,1886],{"class":366},"  // 1. Check if user exists\n",[273,1888,1889,1892,1895,1898,1900,1902,1904,1906,1908,1910],{"class":275,"line":333},[273,1890,1891],{"class":936},"  const",[273,1893,1894],{"class":287}," user",[273,1896,1897],{"class":283}," =",[273,1899,946],{"class":279},[273,1901,288],{"class":287},[273,1903,378],{"class":283},[273,1905,1455],{"class":381},[273,1907,397],{"class":1023},[273,1909,1568],{"class":287},[273,1911,745],{"class":1023},[273,1913,1914,1917,1919,1921,1923,1925,1927,1929,1931,1933,1935,1937,1939,1941,1944],{"class":275,"line":356},[273,1915,1916],{"class":283},"    .",[273,1918,394],{"class":381},[273,1920,397],{"class":1023},[273,1922,400],{"class":381},[273,1924,397],{"class":1023},[273,1926,1568],{"class":287},[273,1928,378],{"class":283},[273,1930,408],{"class":287},[273,1932,378],{"class":283},[273,1934,413],{"class":287},[273,1936,378],{"class":283},[273,1938,418],{"class":287},[273,1940,421],{"class":283},[273,1942,1943],{"class":287}," userId",[273,1945,428],{"class":1023},[273,1947,1948,1950,1953,1955],{"class":275,"line":363},[273,1949,1916],{"class":283},[273,1951,1952],{"class":381},"first",[273,1954,439],{"class":1023},[273,1956,307],{"class":283},[273,1958,1959],{"class":275,"line":370},[273,1960,360],{"emptyLinePlaceholder":359},[273,1962,1963,1966,1969,1972,1975,1978],{"class":275,"line":388},[273,1964,1965],{"class":279},"  if",[273,1967,1968],{"class":1023}," (",[273,1970,1971],{"class":283},"!",[273,1973,1974],{"class":287},"user",[273,1976,1977],{"class":1023},") ",[273,1979,1010],{"class":283},[273,1981,1982,1985,1987,1990,1992,1994,1997,1999,2001],{"class":275,"line":431},[273,1983,1984],{"class":279},"    throw",[273,1986,1363],{"class":283},[273,1988,1989],{"class":381}," Error",[273,1991,397],{"class":1023},[273,1993,304],{"class":283},[273,1995,1996],{"class":300},"User not found",[273,1998,304],{"class":283},[273,2000,842],{"class":1023},[273,2002,307],{"class":283},[273,2004,2005],{"class":275,"line":748},[273,2006,2007],{"class":283},"  }\n",[273,2009,2010],{"class":275,"line":754},[273,2011,2012],{"class":1023},"  \n",[273,2014,2015],{"class":275,"line":760},[273,2016,2017],{"class":366},"  // 2. Delete in a transaction to ensure atomicity\n",[273,2019,2020,2023,2025,2027,2029,2032,2034,2036,2038,2041,2043,2045],{"class":275,"line":771},[273,2021,2022],{"class":279},"  return",[273,2024,946],{"class":279},[273,2026,288],{"class":287},[273,2028,378],{"class":283},[273,2030,2031],{"class":381},"transaction",[273,2033,397],{"class":1023},[273,2035,1859],{"class":936},[273,2037,1968],{"class":283},[273,2039,2040],{"class":1870},"tx",[273,2042,842],{"class":283},[273,2044,1775],{"class":936},[273,2046,1575],{"class":283},[273,2048,2049],{"class":275,"line":776},[273,2050,2051],{"class":366},"    // Delete user's posts\n",[273,2053,2054,2057,2060,2062,2064,2066,2068],{"class":275,"line":782},[273,2055,2056],{"class":279},"    await",[273,2058,2059],{"class":287}," tx",[273,2061,378],{"class":283},[273,2063,382],{"class":381},[273,2065,397],{"class":1023},[273,2067,1671],{"class":287},[273,2069,745],{"class":1023},[273,2071,2072,2075,2077,2079,2081,2083,2085,2087,2089,2091,2093,2095,2098,2100,2102],{"class":275,"line":796},[273,2073,2074],{"class":283},"      .",[273,2076,394],{"class":381},[273,2078,397],{"class":1023},[273,2080,400],{"class":381},[273,2082,397],{"class":1023},[273,2084,1671],{"class":287},[273,2086,378],{"class":283},[273,2088,408],{"class":287},[273,2090,378],{"class":283},[273,2092,413],{"class":287},[273,2094,378],{"class":283},[273,2096,2097],{"class":287},"authorId",[273,2099,421],{"class":283},[273,2101,1943],{"class":287},[273,2103,428],{"class":1023},[273,2105,2106,2108,2110,2112],{"class":275,"line":805},[273,2107,2074],{"class":283},[273,2109,436],{"class":381},[273,2111,439],{"class":1023},[273,2113,307],{"class":283},[273,2115,2116],{"class":275,"line":812},[273,2117,2118],{"class":1023},"    \n",[273,2120,2121],{"class":275,"line":847},[273,2122,2123],{"class":366},"    // Delete the user and return their data (single record)\n",[273,2125,2126,2129,2131,2133,2135,2137,2139,2141,2143,2145],{"class":275,"line":872},[273,2127,2128],{"class":936},"    const",[273,2130,1035],{"class":287},[273,2132,1897],{"class":283},[273,2134,946],{"class":279},[273,2136,2059],{"class":287},[273,2138,378],{"class":283},[273,2140,382],{"class":381},[273,2142,397],{"class":1023},[273,2144,1568],{"class":287},[273,2146,745],{"class":1023},[273,2148,2149,2151,2153,2155,2157,2159,2161,2163,2165,2167,2169,2171,2173,2175,2177],{"class":275,"line":877},[273,2150,2074],{"class":283},[273,2152,394],{"class":381},[273,2154,397],{"class":1023},[273,2156,400],{"class":381},[273,2158,397],{"class":1023},[273,2160,1568],{"class":287},[273,2162,378],{"class":283},[273,2164,408],{"class":287},[273,2166,378],{"class":283},[273,2168,413],{"class":287},[273,2170,378],{"class":283},[273,2172,418],{"class":287},[273,2174,421],{"class":283},[273,2176,1943],{"class":287},[273,2178,428],{"class":1023},[273,2180,2181,2183,2185,2187],{"class":275,"line":882},[273,2182,2074],{"class":283},[273,2184,991],{"class":381},[273,2186,439],{"class":1023},[273,2188,307],{"class":283},[273,2190,2192],{"class":275,"line":2191},22,[273,2193,2118],{"class":1023},[273,2195,2197,2200,2202,2204,2207,2209],{"class":275,"line":2196},23,[273,2198,2199],{"class":279},"    if",[273,2201,1968],{"class":1023},[273,2203,1971],{"class":283},[273,2205,2206],{"class":287},"deletedUser",[273,2208,1977],{"class":1023},[273,2210,1010],{"class":283},[273,2212,2214,2217,2219,2221,2223,2225,2228,2230,2232],{"class":275,"line":2213},24,[273,2215,2216],{"class":279},"      throw",[273,2218,1363],{"class":283},[273,2220,1989],{"class":381},[273,2222,397],{"class":1023},[273,2224,304],{"class":283},[273,2226,2227],{"class":300},"Delete failed",[273,2229,304],{"class":283},[273,2231,842],{"class":1023},[273,2233,307],{"class":283},[273,2235,2237],{"class":275,"line":2236},25,[273,2238,2239],{"class":283},"    }\n",[273,2241,2243],{"class":275,"line":2242},26,[273,2244,2118],{"class":1023},[273,2246,2248,2251,2253],{"class":275,"line":2247},27,[273,2249,2250],{"class":279},"    return",[273,2252,1035],{"class":287},[273,2254,307],{"class":283},[273,2256,2258,2260,2262],{"class":275,"line":2257},28,[273,2259,1387],{"class":283},[273,2261,842],{"class":1023},[273,2263,307],{"class":283},[273,2265,2267],{"class":275,"line":2266},29,[273,2268,1063],{"class":283},[252,2270,2272],{"id":2271},"example-cleanup-old-records","Example: Cleanup Old Records",[264,2274,2276],{"className":266,"code":2275,"language":268,"meta":269,"style":269},"async function cleanupOldRecords() {\n  const thirtyDaysAgo = new Date();\n  thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);\n  \n  // Delete old temporary files\n  const result = await db.delete(tempFiles)\n    .where(lt(tempFiles._.columns.createdAt, thirtyDaysAgo))\n    .execute();\n  \n  console.log(`Deleted ${result[0].rowsAffected} old files`);\n}\n",[247,2277,2278,2291,2308,2341,2345,2350,2374,2407,2417,2421,2462],{"__ignoreMap":269},[273,2279,2280,2282,2284,2287,2289],{"class":275,"line":276},[273,2281,1859],{"class":936},[273,2283,1862],{"class":936},[273,2285,2286],{"class":381}," cleanupOldRecords",[273,2288,439],{"class":283},[273,2290,1575],{"class":283},[273,2292,2293,2295,2298,2300,2302,2304,2306],{"class":275,"line":310},[273,2294,1891],{"class":936},[273,2296,2297],{"class":287}," thirtyDaysAgo",[273,2299,1897],{"class":283},[273,2301,1363],{"class":283},[273,2303,1366],{"class":381},[273,2305,439],{"class":1023},[273,2307,307],{"class":283},[273,2309,2310,2313,2315,2318,2320,2323,2325,2328,2331,2334,2337,2339],{"class":275,"line":333},[273,2311,2312],{"class":287},"  thirtyDaysAgo",[273,2314,378],{"class":283},[273,2316,2317],{"class":381},"setDate",[273,2319,397],{"class":1023},[273,2321,2322],{"class":287},"thirtyDaysAgo",[273,2324,378],{"class":283},[273,2326,2327],{"class":381},"getDate",[273,2329,2330],{"class":1023},"() ",[273,2332,2333],{"class":283},"-",[273,2335,2336],{"class":424}," 30",[273,2338,842],{"class":1023},[273,2340,307],{"class":283},[273,2342,2343],{"class":275,"line":356},[273,2344,2012],{"class":1023},[273,2346,2347],{"class":275,"line":363},[273,2348,2349],{"class":366},"  // Delete old temporary files\n",[273,2351,2352,2354,2357,2359,2361,2363,2365,2367,2369,2372],{"class":275,"line":370},[273,2353,1891],{"class":936},[273,2355,2356],{"class":287}," result",[273,2358,1897],{"class":283},[273,2360,946],{"class":279},[273,2362,288],{"class":287},[273,2364,378],{"class":283},[273,2366,382],{"class":381},[273,2368,397],{"class":1023},[273,2370,2371],{"class":287},"tempFiles",[273,2373,745],{"class":1023},[273,2375,2376,2378,2380,2382,2385,2387,2389,2391,2393,2395,2397,2399,2401,2403,2405],{"class":275,"line":388},[273,2377,1916],{"class":283},[273,2379,394],{"class":381},[273,2381,397],{"class":1023},[273,2383,2384],{"class":381},"lt",[273,2386,397],{"class":1023},[273,2388,2371],{"class":287},[273,2390,378],{"class":283},[273,2392,408],{"class":287},[273,2394,378],{"class":283},[273,2396,413],{"class":287},[273,2398,378],{"class":283},[273,2400,864],{"class":287},[273,2402,421],{"class":283},[273,2404,2297],{"class":287},[273,2406,428],{"class":1023},[273,2408,2409,2411,2413,2415],{"class":275,"line":431},[273,2410,1916],{"class":283},[273,2412,436],{"class":381},[273,2414,439],{"class":1023},[273,2416,307],{"class":283},[273,2418,2419],{"class":275,"line":748},[273,2420,2012],{"class":1023},[273,2422,2423,2425,2427,2429,2431,2433,2435,2437,2440,2443,2446,2448,2451,2453,2456,2458,2460],{"class":275,"line":754},[273,2424,1015],{"class":287},[273,2426,378],{"class":283},[273,2428,1020],{"class":381},[273,2430,397],{"class":1023},[273,2432,1170],{"class":283},[273,2434,1173],{"class":300},[273,2436,1176],{"class":283},[273,2438,2439],{"class":287},"result[",[273,2441,2442],{"class":424},"0",[273,2444,2445],{"class":287},"]",[273,2447,378],{"class":283},[273,2449,2450],{"class":287},"rowsAffected",[273,2452,1187],{"class":283},[273,2454,2455],{"class":300}," old files",[273,2457,1170],{"class":283},[273,2459,842],{"class":1023},[273,2461,307],{"class":283},[273,2463,2464],{"class":275,"line":760},[273,2465,1063],{"class":283},[252,2467,2469],{"id":2468},"response-format","Response Format",[243,2471,2472,2473,2475],{},"Without ",[247,2474,900],{},", delete operations return the number of affected rows:",[264,2477,2479],{"className":266,"code":2478,"language":268,"meta":269,"style":269},"const result = await db.delete(users)\n  .where(eq(users._.columns.id, 1))\n  .execute();\n\nconsole.log(result);\n// [{ rowsAffected: 1 }]\n",[247,2480,2481,2500,2530,2540,2544,2557],{"__ignoreMap":269},[273,2482,2483,2485,2488,2490,2492,2494,2496,2498],{"class":275,"line":276},[273,2484,937],{"class":936},[273,2486,2487],{"class":287}," result ",[273,2489,943],{"class":283},[273,2491,946],{"class":279},[273,2493,288],{"class":287},[273,2495,378],{"class":283},[273,2497,382],{"class":381},[273,2499,385],{"class":287},[273,2501,2502,2504,2506,2508,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528],{"class":275,"line":310},[273,2503,391],{"class":283},[273,2505,394],{"class":381},[273,2507,397],{"class":287},[273,2509,400],{"class":381},[273,2511,403],{"class":287},[273,2513,378],{"class":283},[273,2515,408],{"class":287},[273,2517,378],{"class":283},[273,2519,413],{"class":287},[273,2521,378],{"class":283},[273,2523,418],{"class":287},[273,2525,421],{"class":283},[273,2527,425],{"class":424},[273,2529,428],{"class":287},[273,2531,2532,2534,2536,2538],{"class":275,"line":333},[273,2533,391],{"class":283},[273,2535,436],{"class":381},[273,2537,439],{"class":287},[273,2539,307],{"class":283},[273,2541,2542],{"class":275,"line":356},[273,2543,360],{"emptyLinePlaceholder":359},[273,2545,2546,2548,2550,2552,2555],{"class":275,"line":363},[273,2547,1161],{"class":287},[273,2549,378],{"class":283},[273,2551,1020],{"class":381},[273,2553,2554],{"class":287},"(result)",[273,2556,307],{"class":283},[273,2558,2559],{"class":275,"line":370},[273,2560,2561],{"class":366},"// [{ rowsAffected: 1 }]\n",[2563,2564,2565],"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 .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 pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":269,"searchDepth":310,"depth":310,"links":2567},[2568,2569,2572,2573,2581,2582,2583,2584,2585,2586],{"id":254,"depth":310,"text":255},{"id":444,"depth":310,"text":445,"children":2570},[2571],{"id":558,"depth":333,"text":559},{"id":612,"depth":310,"text":613},{"id":893,"depth":310,"text":894,"children":2574},[2575,2577,2579],{"id":912,"depth":333,"text":2576},".returningFirst() - For Single Row Deletes",{"id":1071,"depth":333,"text":2578},".returningAll() - For Multiple Rows",{"id":1204,"depth":333,"text":2580},".returning() - For Specific Columns",{"id":1311,"depth":310,"text":1312},{"id":1502,"depth":310,"text":1503},{"id":1808,"depth":310,"text":1809},{"id":1848,"depth":310,"text":1849},{"id":2271,"depth":310,"text":2272},{"id":2468,"depth":310,"text":2469},"Deleting data using Tauri SQLite ORM.","md",null,{},{"title":180,"description":2587},"V0ZpR_3a9qaWbIYT_IV7d7Kcmu8zKocwArvmzuQ649Q",[2594,2596],{"title":176,"path":177,"stem":178,"description":2595,"children":-1},"Updating data using Tauri SQLite ORM.",{"title":184,"path":185,"stem":186,"description":2597,"children":-1},"Using Conditions & Operators in Tauri SQLite ORM.",1773317303360]