{"_id":"@drizzle-adapter/tidb-serverless","_rev":"11-04503df6a2778172c93aa5d267d7ec65","name":"@drizzle-adapter/tidb-serverless","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"@drizzle-adapter/tidb-serverless","version":"1.0.0","_id":"@drizzle-adapter/tidb-serverless@1.0.0","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"eb9537487a2b437311913603d483c6b363cae330","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.0.tgz","fileCount":46,"integrity":"sha512-HMRzBMMsiurVu6HHcLbzWFU6Qr+KM9uAGiv5qDYVrtk9nwwHIVT3+IO7lFCQ/D/KoSIACcNhp+sMitQks4HfhA==","signatures":[{"sig":"MEQCIFyLF1wvVub4jYGk4nNSRMtySFVhf9FWn6diwpcWHBpVAiBF8uD2A69NJmzt6nKZw3/ei33udquFT/+V0WlGTdBYmg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72999},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.0.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc && fix-esm-import-path dist","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/72394ed8ff885c82edf1d09da46de9bd/drizzle-adapter-tidb-serverless-1.0.0.tgz","_integrity":"sha512-HMRzBMMsiurVu6HHcLbzWFU6Qr+KM9uAGiv5qDYVrtk9nwwHIVT3+IO7lFCQ/D/KoSIACcNhp+sMitQks4HfhA==","_npmVersion":"10.8.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"22.5.1","dependencies":{"drizzle-orm":"^0.36.4","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.4.5","eslint":"^8.0.0","vitest":"^0.24.5","typescript":"^5.5.3","tsconfig-paths":"^4.2.0","fix-esm-import-path":"^1.0.1","eslint-plugin-unused-imports":"^3.0.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.0.0_1733204582982_0.8897642987826218","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@drizzle-adapter/tidb-serverless","version":"1.0.1","_id":"@drizzle-adapter/tidb-serverless@1.0.1","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"451076c43c75ddc391512f4fae4520eba9f2dab3","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.1.tgz","fileCount":51,"integrity":"sha512-+wWjgNi0K/Q0kC4ohuB6+VwBzQilDO4T6zyeDMbDBYPEMsEwonZue+D1mlLX+LzgFyY1gFvzvnn/C/r916hgLw==","signatures":[{"sig":"MEQCIBOkVIxKQxJdRJcsfINm0b3UmpSbLGONucVRqdipsHRtAiAgF5UYS0ks+vj5jKmK3AWF8PWB53x7t9a+KhfNv0ghIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81310},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.0.1.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc && fix-esm-import-path dist","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/28e4cd210942aa7bab16462ce3443be3/drizzle-adapter-tidb-serverless-1.0.1.tgz","_integrity":"sha512-+wWjgNi0K/Q0kC4ohuB6+VwBzQilDO4T6zyeDMbDBYPEMsEwonZue+D1mlLX+LzgFyY1gFvzvnn/C/r916hgLw==","_npmVersion":"10.8.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"22.5.1","dependencies":{"drizzle-orm":"^0.36.4","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.4.5","eslint":"^8.0.0","vitest":"^0.24.5","typescript":"^5.5.3","tsconfig-paths":"^4.2.0","fix-esm-import-path":"^1.0.1","eslint-plugin-unused-imports":"^3.0.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.0.1_1733464734335_0.5481784866288335","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@drizzle-adapter/tidb-serverless","version":"1.0.3","_id":"@drizzle-adapter/tidb-serverless@1.0.3","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"51d929a8ddf9debc2d725894217675cdf11f8725","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.3.tgz","fileCount":51,"integrity":"sha512-m57WLHP69NqKKxsOp5N9+mmUMMqs2Vaf+N3g7OtPT8YMpSMYuzqe6NOaQYaXOnAymPuOICvNkd3UQSJyd92+Gg==","signatures":[{"sig":"MEYCIQDWTJpEkQ7KMS595lwZzm/nlAjMFXeQ/DCK4Vw92Fnd+AIhAJ8gN8OFSXuEZ9G/fNdO27JLbOOiN02jc5eDI4T1JSpO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81909},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.0.3.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc && fix-esm-import-path dist","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/1742a7c1556a941beb3b028364b05029/drizzle-adapter-tidb-serverless-1.0.3.tgz","_integrity":"sha512-m57WLHP69NqKKxsOp5N9+mmUMMqs2Vaf+N3g7OtPT8YMpSMYuzqe6NOaQYaXOnAymPuOICvNkd3UQSJyd92+Gg==","_npmVersion":"10.8.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"22.5.1","dependencies":{"drizzle-orm":"^0.36.4","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":">=1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.4.5","eslint":"^8.0.0","vitest":"^0.24.5","typescript":"^5.5.3","tsconfig-paths":"^4.2.0","fix-esm-import-path":"^1.0.1","eslint-plugin-unused-imports":"^3.0.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.0.3_1733633183983_0.6573428690856138","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@drizzle-adapter/tidb-serverless","version":"1.0.4","_id":"@drizzle-adapter/tidb-serverless@1.0.4","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"d32a08374941b8161d1ec42fa28f233308e735a8","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.4.tgz","fileCount":54,"integrity":"sha512-UUzgDi2GO6CkWBhk/ry+RpFVuewduwvThyDiZQEtxpWOQ82uZgMZ7dotLuphy1LeP+xQvgoI0RYidfF9Wv+wrQ==","signatures":[{"sig":"MEUCIGRAgpEwMEg2shLPKMxtjfjde03Y0gW3rdgJ+c9PUzYiAiEAnJHnAf2FMGIQX8puqf/Nw/PtC0muL5hTITd4UplxV5A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84770},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.0.4.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc && fix-esm-import-path dist","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/d295b6c84385b0b371eb90df5de613e3/drizzle-adapter-tidb-serverless-1.0.4.tgz","_integrity":"sha512-UUzgDi2GO6CkWBhk/ry+RpFVuewduwvThyDiZQEtxpWOQ82uZgMZ7dotLuphy1LeP+xQvgoI0RYidfF9Wv+wrQ==","_npmVersion":"10.8.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"22.5.1","dependencies":{"drizzle-orm":"^0.36.4","@drizzle-adapter/core":">=1.0.4","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":">=1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.4.5","eslint":"^8.0.0","vitest":"^0.24.5","typescript":"^5.5.3","tsconfig-paths":"^4.2.0","fix-esm-import-path":"^1.0.1","eslint-plugin-unused-imports":"^3.0.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.0.4_1733705628138_0.028785137818299722","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@drizzle-adapter/tidb-serverless","version":"1.0.5","_id":"@drizzle-adapter/tidb-serverless@1.0.5","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"f396e1a26c1d37a6f23ea5f850c5a3aface91b4e","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.5.tgz","fileCount":54,"integrity":"sha512-A2zy99C8yIqYMDPVhrymDmk/mELXchEJmY1T0/S/reeYw2BmtKJDOsi9XIbzuDcggUWaNz5FaV64G67ZvlTt7A==","signatures":[{"sig":"MEYCIQDyiGL/UPK232UuMle812wkU1lKow0OCsJHti6UZCufHwIhAKdbBWHsh6+W67gt6mdx3Ntm4DAeEOwaMFbJp4M/mlzR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84770},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.0.5.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc && fix-esm-import-path dist","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/bce098636aa48ad2fcdc9341d730c320/drizzle-adapter-tidb-serverless-1.0.5.tgz","_integrity":"sha512-A2zy99C8yIqYMDPVhrymDmk/mELXchEJmY1T0/S/reeYw2BmtKJDOsi9XIbzuDcggUWaNz5FaV64G67ZvlTt7A==","_npmVersion":"10.8.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"22.5.1","dependencies":{"drizzle-orm":"^0.36.4","@drizzle-adapter/core":">=1.0.5","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":">=1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.4.5","eslint":"^8.0.0","vitest":"^0.24.5","typescript":"^5.5.3","tsconfig-paths":"^4.2.0","fix-esm-import-path":"^1.0.1","eslint-plugin-unused-imports":"^3.0.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.0.5_1733706444973_0.4793732211093247","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@drizzle-adapter/tidb-serverless","version":"1.0.6","_id":"@drizzle-adapter/tidb-serverless@1.0.6","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"bc93e0ba1e7d007e55b2804e00fa12658dcad421","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.6.tgz","fileCount":54,"integrity":"sha512-RblokmOWPtsRNBVqqXTP59yTuc1jWRVaM+hYU5UbHqjRIzUJtC8RZ5x+2SiMH6RNexA49rXLNCCMQJpKPNzTPw==","signatures":[{"sig":"MEYCIQDQeBB/ME+TCwropbGPepNCsMJfOdRjO1nV60OSWnt2dgIhAJYcJHhadi9F/TpkRTnBgWyrjJtKr7+wCH6PiapRYCv2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84800},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.0.6.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc && fix-esm-import-path dist","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/bcaea26d39866b2c762eea8664d40da5/drizzle-adapter-tidb-serverless-1.0.6.tgz","_integrity":"sha512-RblokmOWPtsRNBVqqXTP59yTuc1jWRVaM+hYU5UbHqjRIzUJtC8RZ5x+2SiMH6RNexA49rXLNCCMQJpKPNzTPw==","_npmVersion":"10.8.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"22.5.1","dependencies":{"drizzle-orm":"^0.36.4","@drizzle-adapter/core":">=1.0.5","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":">=1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.4.5","eslint":"^8.0.0","vitest":"^0.24.5","typescript":"^5.5.3","tsconfig-paths":"^4.2.0","fix-esm-import-path":"^1.0.1","eslint-plugin-unused-imports":"^3.0.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.0.6_1734903212562_0.4141842909508797","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@drizzle-adapter/tidb-serverless","version":"1.0.7","_id":"@drizzle-adapter/tidb-serverless@1.0.7","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"8708177084220d9c007cd5c935587c0157228b2f","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.7.tgz","fileCount":57,"integrity":"sha512-liTzKRz+A6EihdW0ZB7P1e2iM9JVQtRlTsES8Ofnme/RONUGkV07+66vNh8O3Kr8ipBxUSYPJsUy789edjOzBQ==","signatures":[{"sig":"MEUCIQCHDsmq/TSa+oMukef/c+aYXj5gG2IjQvJjlzs+xOpVqAIgOxK6ikUxCqC47MeqhSQU7Q+m9tUjzhXknGzhD+yX7Tw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85754},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.0.7.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./migrator":{"types":"./dist/migrator.d.ts","default":"./dist/migrator.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc && fix-esm-import-path dist","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/c94c5eabd5f444516702d05d0d661410/drizzle-adapter-tidb-serverless-1.0.7.tgz","_integrity":"sha512-liTzKRz+A6EihdW0ZB7P1e2iM9JVQtRlTsES8Ofnme/RONUGkV07+66vNh8O3Kr8ipBxUSYPJsUy789edjOzBQ==","_npmVersion":"10.8.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"22.5.1","dependencies":{"drizzle-orm":"^0.36.4","@drizzle-adapter/core":">=1.0.5","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":">=1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.4.5","eslint":"^8.0.0","vitest":"^0.24.5","typescript":"^5.5.3","tsconfig-paths":"^4.2.0","fix-esm-import-path":"^1.0.1","eslint-plugin-unused-imports":"^3.0.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.0.7_1734915453562_0.6442684566554315","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@drizzle-adapter/tidb-serverless","version":"1.0.8","_id":"@drizzle-adapter/tidb-serverless@1.0.8","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"427750ef24cbad7dbe54a9c968e58fc6d8beb0c8","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.8.tgz","fileCount":61,"integrity":"sha512-E7gMxJ471WUFsIPRCoTxph5N7paBJDXwMkE07pjs3St/3aGBFlM93iYtgvzB89vteLX5V0FEIU8FH43Pfm+exw==","signatures":[{"sig":"MEUCIGW+jOng1Hm1jEv3PXNGfaO8P4aakpwmCnsGLPG0OkheAiEA+7b0zD401r/FznU333ssUaJhji3zCsPjaDjO9eBnG0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88269},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.0.8.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./migrator":{"types":"./dist/migrator.d.ts","default":"./dist/migrator.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc && fix-esm-import-path dist","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/9ea25e02d3a73fa0b021a315f764b82b/drizzle-adapter-tidb-serverless-1.0.8.tgz","_integrity":"sha512-E7gMxJ471WUFsIPRCoTxph5N7paBJDXwMkE07pjs3St/3aGBFlM93iYtgvzB89vteLX5V0FEIU8FH43Pfm+exw==","_npmVersion":"10.8.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"22.5.1","dependencies":{"drizzle-orm":"^0.36.4","@drizzle-adapter/core":">=1.0.5","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":">=1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.4.5","eslint":"^8.0.0","vitest":"^0.24.5","typescript":"^5.5.3","tsconfig-paths":"^4.2.0","fix-esm-import-path":"^1.0.1","eslint-plugin-unused-imports":"^3.0.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.0.8_1741561615121_0.22386690155674915","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@drizzle-adapter/tidb-serverless","version":"1.0.9","_id":"@drizzle-adapter/tidb-serverless@1.0.9","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"bd33c5f9360f321b02f13a88087bf2208a0f9078","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.9.tgz","fileCount":61,"integrity":"sha512-JRm20QDIeOqidnP51dhogxdC4ENcYqwTfe7Ut258b2POC+EADuasvRf+4cDlKZQ3xwL0JdDJIHTDDivEqSC7zQ==","signatures":[{"sig":"MEUCIQCrURM5Ip7J5xzDjE8bhhxaEPxYqLw/Dc/1iRK9LWZHQgIgDlqBGPrklrlHDfcRqlbmdzPpUZBJPqa3FgGahBm5qYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88270},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.0.9.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./migrator":{"types":"./dist/migrator.d.ts","default":"./dist/migrator.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc && fix-esm-import-path dist","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/c007831d34ec857e7a98d105400acf6f/drizzle-adapter-tidb-serverless-1.0.9.tgz","_integrity":"sha512-JRm20QDIeOqidnP51dhogxdC4ENcYqwTfe7Ut258b2POC+EADuasvRf+4cDlKZQ3xwL0JdDJIHTDDivEqSC7zQ==","_npmVersion":"10.9.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"drizzle-orm":"^0.36.4","@drizzle-adapter/core":"^1.0.10","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":"^1.0.9"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.5.0","eslint":"^8.57.1","vitest":"^0.24.5","typescript":"^5.8.3","tsconfig-paths":"^4.2.0","fix-esm-import-path":"^1.10.1","eslint-plugin-unused-imports":"^3.2.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.0.9_1745090924037_0.5973829368219714","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@drizzle-adapter/tidb-serverless","version":"1.1.0","_id":"@drizzle-adapter/tidb-serverless@1.1.0","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"dist":{"shasum":"0621cecaee864a7fee2ee12514a7fe62a8b0c87f","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.1.0.tgz","fileCount":61,"integrity":"sha512-Yfy6n+dr1PeIQl8gC5YDiA1pmfaINAGLwrmLiFIUb5Q6cY+hFpuV7VnUlfZ0lZ1Ud6q1lLfHskoeOS+s6cFAyw==","signatures":[{"sig":"MEUCIHuaQPR9RMnwkYE5au2A1mAyD4n25vxEOrsIaUIjhHC3AiEA6pQyru1+NqNKBiJAPXbO5nAzYN4Ow69oszqIuYGMy8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88038},"main":"dist/index.js","type":"module","_from":"file:drizzle-adapter-tidb-serverless-1.1.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./migrator":{"types":"./dist/migrator.d.ts","default":"./dist/migrator.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"shx rm -rf dist && tsc","check":"tsc --noEmit","format":"eslint --fix .","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/2dfeecdea8a270941f10fe9e05b83404/drizzle-adapter-tidb-serverless-1.1.0.tgz","_integrity":"sha512-Yfy6n+dr1PeIQl8gC5YDiA1pmfaINAGLwrmLiFIUb5Q6cY+hFpuV7VnUlfZ0lZ1Ud6q1lLfHskoeOS+s6cFAyw==","_npmVersion":"10.9.2","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"drizzle-orm":"^0.36.4","@drizzle-adapter/core":"^1.0.11","@tidbcloud/serverless":"^0.2.0","@drizzle-adapter/mysql-core":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","dotenv":"^16.5.0","eslint":"^8.57.1","vitest":"^0.24.5","typescript":"^5.8.3","tsconfig-paths":"^4.2.0","eslint-plugin-unused-imports":"^3.2.0","@dmitryrechkin/eslint-standard":"^1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tidb-serverless_1.1.0_1752254263246_0.4172019747138842","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@drizzle-adapter/tidb-serverless","type":"module","version":"1.0.10","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./migrator":{"types":"./dist/migrator.d.ts","default":"./dist/migrator.js"}},"devDependencies":{"@dmitryrechkin/eslint-standard":"^1.0.7","dotenv":"^16.5.0","eslint":"^8.57.1","eslint-plugin-unused-imports":"^3.2.0","fix-esm-import-path":"^1.10.1","shx":"^0.3.4","tsc-esm-fix":"^3.1.2","tsconfig-paths":"^4.2.0","typescript":"^5.8.3","vitest":"^0.24.5"},"dependencies":{"@tidbcloud/serverless":"^0.2.0","drizzle-orm":"^0.36.4","@drizzle-adapter/mysql-core":"^1.0.12","@drizzle-adapter/core":"^1.0.12"},"scripts":{"lint":"eslint .","format":"eslint --fix .","test":"vitest run","check":"tsc --noEmit","build":"shx rm -rf dist && tsc && tsc-esm-fix","package:tgz":"pnpm pack","package:publish":"pnpm publish --access public"},"_id":"@drizzle-adapter/tidb-serverless@1.0.10","description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","_integrity":"sha512-BjgrRSDWG5hl61OggdR9w6bGEt5IQcux3rBLwYjbjUWX4O2bC8SZ/kNwDpQUZhtVcRBISnrAX5SwgiWHF3QFXg==","_resolved":"/private/var/folders/67/qcbb1q556vbfzygwbkm5glcr0000gn/T/1b59c43a4300b121d6d6d0f0733f30d0/drizzle-adapter-tidb-serverless-1.0.10.tgz","_from":"file:drizzle-adapter-tidb-serverless-1.0.10.tgz","_nodeVersion":"23.11.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-BjgrRSDWG5hl61OggdR9w6bGEt5IQcux3rBLwYjbjUWX4O2bC8SZ/kNwDpQUZhtVcRBISnrAX5SwgiWHF3QFXg==","shasum":"fe8ecfbeea9c6ba257c8508d8b42f88d2f45ef8c","tarball":"https://registry.npmjs.org/@drizzle-adapter/tidb-serverless/-/tidb-serverless-1.0.10.tgz","fileCount":61,"unpackedSize":88325,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHITf8R/+qMhc1XkiPcXMCWYrDdq9IM30zmqXmPieCEEAiEAqC8wo021w/l19Q5JaMO/Yu4xRFFontXaN8xCog2P06E="}]},"_npmUser":{"name":"dmitryrechkin","email":"rechkin@gmail.com"},"directories":{},"maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tidb-serverless_1.0.10_1752268155455_0.6109041409642975"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-03T05:43:02.859Z","modified":"2025-07-11T21:09:15.874Z","1.0.0":"2024-12-03T05:43:03.155Z","1.0.1":"2024-12-06T05:58:54.507Z","1.0.3":"2024-12-08T04:46:24.147Z","1.0.4":"2024-12-09T00:53:48.326Z","1.0.5":"2024-12-09T01:07:25.192Z","1.0.6":"2024-12-22T21:33:32.728Z","1.0.7":"2024-12-23T00:57:33.736Z","1.0.8":"2025-03-09T23:06:55.290Z","1.0.9":"2025-04-19T19:28:44.222Z","1.1.0":"2025-07-11T17:17:43.427Z","1.0.10":"2025-07-11T21:09:15.663Z"},"description":"TiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.","maintainers":[{"name":"dmitryrechkin","email":"rechkin@gmail.com"}],"readme":"# @drizzle-adapter/tidb-serverless\n\nTiDB Serverless adapter implementation for the Drizzle Adapter ecosystem.\n\n## Overview\n\nThe `@drizzle-adapter/tidb-serverless` package provides the TiDB Serverless implementation for the Drizzle Adapter interface. While you don't interact with this package directly (you use `@drizzle-adapter/core` instead), it enables support for TiDB Serverless in the Drizzle Adapter ecosystem.\n\n## Why TiDB Serverless?\n\nTiDB Serverless offers unique advantages for modern applications:\n\n- **Distributed SQL**: TiDB is a distributed SQL database that scales horizontally while maintaining strong consistency\n- **MySQL Compatibility**: 100% MySQL compatible while offering distributed capabilities\n- **Auto-scaling**: Automatically scales compute and storage resources based on workload\n- **Serverless Pricing**: Pay only for what you use with per-second billing\n- **HTAP Capabilities**: Hybrid Transactional and Analytical Processing for real-time analytics\n- **Global Distribution**: Deploy across regions with automatic data replication\n- **High Availability**: Built-in high availability with automatic failover\n- **Real-time Analytics**: Run complex analytical queries alongside transactional workloads\n\n### Perfect For:\n\n1. **Microservices**: Scale individual services independently\n2. **Global Applications**: Serve users worldwide with low latency\n3. **Real-time Analytics**: Process transactional and analytical workloads simultaneously\n4. **Cost-Sensitive Workloads**: Pay only for actual usage\n5. **High-Growth Applications**: Scale seamlessly from startup to enterprise\n\n## Installation\n\n```bash\n# Install both the core package and the TiDB adapter\npnpm install @drizzle-adapter/core @drizzle-adapter/tidb-serverless\n```\n\n## Important: Adapter Registration\n\nFor the adapter to work correctly with the DrizzleAdapterFactory, you must import it for its self-registration side effects:\n\n```typescript\n// Import for side effects - adapter will self-register\nimport '@drizzle-adapter/tidb-serverless';\n\n// Now you can use the factory\nimport { DrizzleAdapterFactory } from '@drizzle-adapter/core';\n```\n\n## Usage\n\n### Configuration\n\n```typescript\nimport { DrizzleAdapterFactory, TypeDrizzleDatabaseConfig } from '@drizzle-adapter/core';\n\nconst config: TypeDrizzleDatabaseConfig = {\n  DATABASE_DRIVER: 'tidb-serverless',\n  DATABASE_URL: 'mysql://user:pass@your-cluster.tidbcloud.com:4000/your-database'\n};\n\nconst factory = new DrizzleAdapterFactory();\nconst adapter = factory.create(config);\n```\n\n### Schema Definition\n\n```typescript\nconst dataTypes = adapter.getDataTypes();\n\nconst users = dataTypes.dbTable('users', {\n  id: dataTypes.dbBigInt('id', { mode: 'number' }).primaryKey().autoincrement(),\n  name: dataTypes.dbVarChar('name', { length: 255 }).notNull(),\n  email: dataTypes.dbVarChar('email', { length: 255 }).notNull().unique(),\n  status: dataTypes.dbEnum('status', ['active', 'inactive']).default('active'),\n  metadata: dataTypes.dbJson('metadata'),\n  createdAt: dataTypes.dbTimestamp('created_at').defaultNow()\n});\n\nconst posts = dataTypes.dbTable('posts', {\n  id: dataTypes.dbBigInt('id', { mode: 'number' }).primaryKey().autoincrement(),\n  userId: dataTypes.dbBigInt('user_id', { mode: 'number' })\n    .references(() => users.id),\n  title: dataTypes.dbVarChar('title', { length: 255 }).notNull(),\n  content: dataTypes.dbText('content').notNull(),\n  published: dataTypes.dbBoolean('published').default(false),\n  createdAt: dataTypes.dbTimestamp('created_at').defaultNow()\n});\n```\n\n### Basic CRUD Operations\n\n```typescript\nimport { eq, and, or, desc } from 'drizzle-orm';\n\nconst connection = await adapter.getConnection();\nconst client = connection.getClient();\n\ntry {\n  // INSERT\n  // Single insert with returning\n  const [newUser] = await client\n    .insert(users)\n    .values({\n      name: 'John Doe',\n      email: 'john@example.com',\n      metadata: { role: 'user' }\n    })\n    .returning();\n\n  // Bulk insert\n  await client\n    .insert(posts)\n    .values([\n      {\n        userId: newUser.id,\n        title: 'First Post',\n        content: 'Hello, world!'\n      },\n      {\n        userId: newUser.id,\n        title: 'Second Post',\n        content: 'Another post'\n      }\n    ]);\n\n  // SELECT\n  // Select all\n  const allUsers = await client\n    .select()\n    .from(users);\n\n  // Select with conditions\n  const activeUsers = await client\n    .select()\n    .from(users)\n    .where(eq(users.status, 'active'));\n\n  // Select with multiple conditions\n  const specificPosts = await client\n    .select()\n    .from(posts)\n    .where(\n      and(\n        eq(posts.userId, newUser.id),\n        eq(posts.published, true)\n      )\n    );\n\n  // Select with join\n  const userPosts = await client\n    .select({\n      userName: users.name,\n      postTitle: posts.title,\n      postContent: posts.content\n    })\n    .from(posts)\n    .leftJoin(users, eq(posts.userId, users.id))\n    .where(eq(posts.published, true))\n    .orderBy(desc(posts.createdAt));\n\n  // Select with complex conditions\n  const searchResults = await client\n    .select()\n    .from(posts)\n    .where(\n      or(\n        eq(posts.published, true),\n        eq(posts.userId, newUser.id)\n      )\n    )\n    .orderBy(desc(posts.createdAt))\n    .limit(10);\n\n  // UPDATE\n  // Update single record\n  const [updated] = await client\n    .update(users)\n    .set({ name: 'John Smith' })\n    .where(eq(users.id, newUser.id))\n    .returning();\n\n  // Update multiple records\n  await client\n    .update(posts)\n    .set({ published: true })\n    .where(eq(posts.userId, newUser.id));\n\n  // DELETE\n  // Delete single record\n  await client\n    .delete(users)\n    .where(eq(users.id, newUser.id));\n\n  // Delete with conditions\n  await client\n    .delete(posts)\n    .where(\n      and(\n        eq(posts.userId, newUser.id),\n        eq(posts.published, false)\n      )\n    );\n\n} finally {\n  await connection.disconnect();\n}\n```\n\n## TiDB-Specific Features\n\n### Distributed Transactions\n\n```typescript\nconst orders = dataTypes.dbTable('orders', {\n  id: dataTypes.dbBigInt('id', { mode: 'number' }).primaryKey().autoincrement(),\n  userId: dataTypes.dbBigInt('user_id', { mode: 'number' }),\n  amount: dataTypes.dbDecimal('amount', { precision: 10, scale: 2 }),\n  status: dataTypes.dbEnum('status', ['pending', 'completed', 'failed']),\n  createdAt: dataTypes.dbTimestamp('created_at').defaultNow()\n});\n\n// TiDB handles distributed transactions automatically\nasync function createOrder(userId: number, amount: number) {\n  const connection = await adapter.getConnection();\n  const client = connection.getClient();\n\n  try {\n    const [order] = await client\n      .insert(orders)\n      .values({\n        userId,\n        amount,\n        status: 'pending'\n      })\n      .returning();\n\n    // Even in a distributed environment, this is ACID compliant\n    return order;\n  } finally {\n    await connection.disconnect();\n  }\n}\n```\n\n### Real-time Analytics\n\n```typescript\nconst analytics = dataTypes.dbTable('analytics', {\n  id: dataTypes.dbBigInt('id', { mode: 'number' }).primaryKey().autoincrement(),\n  metric: dataTypes.dbVarChar('metric', { length: 255 }),\n  value: dataTypes.dbDouble('value'),\n  dimensions: dataTypes.dbJson('dimensions'),\n  timestamp: dataTypes.dbTimestamp('timestamp').defaultNow()\n});\n\n// TiDB can handle analytical queries alongside transactional workloads\nasync function getMetricsTrends() {\n  const client = await adapter.getConnection().getClient();\n  \n  return client\n    .select({\n      metric: analytics.metric,\n      hourly_avg: sql`AVG(${analytics.value})`,\n      hour: sql`DATE_FORMAT(${analytics.timestamp}, '%Y-%m-%d %H:00:00')`\n    })\n    .from(analytics)\n    .groupBy(analytics.metric, sql`hour`)\n    .orderBy(desc(sql`hour`));\n}\n```\n\n## Best Practices\n\n1. **Connection Management**: Always use try/finally to ensure connections are properly closed\n2. **Batch Operations**: Use bulk inserts/updates when possible for better performance\n3. **Transactions**: Leverage TiDB's distributed transaction capabilities\n4. **Query Optimization**: Use appropriate indexes and limit result sets\n5. **Error Handling**: Implement proper retry logic for transient errors\n\n## Contributing\n\nWe welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n## Related Packages\n\n- [@drizzle-adapter/core](../core) - Core interfaces and types\n- [@drizzle-adapter/mysql-core](../mysql-core) - Shared MySQL functionality\n","readmeFilename":"README.md"}