@shiyuhang0/serverless
TypeScript icon, indicating that this package has built-in type declarations

0.0.11-beta2 • Public • Published

TiDB Cloud Serverless Driver for JavaScript

This driver is for serverless and edge compute platforms that require HTTP external connections, such as Vercel Edge Functions or Cloudflare Workers.

Usage

Install

You can install the driver with npm:

npm install @tidbcloud/serverless

Query

To query from TiDB Serverless, you need to create a connection first. Then you can use the connection to execute raw SQL queries. For example:

import { connect } from '@tidbcloud/serverless'

const conn = connect({url: 'mysql://username:password@host/database'})
const results = await conn.execute('select * from test where id = ?',[1])

Transaction (Experimental)

You can also perform interactive transactions with the serverless driver. For example:

import { connect } from '@tidbcloud/serverless'

const conn = connect({url: 'mysql://username:password@host/database'})
const tx = await conn.begin()

try {
  await tx.execute('insert into test values (1)')
  await tx.execute('select * from test')
  await tx.commit()
}catch (err) {
  await tx.rollback()
  throw err
}

Edge example

The serverless driver is suitable for the edge environments. See how to use it with Vercel Edge Functions:

import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';
import { connect } from '@tidbcloud/serverless'
export const runtime = 'edge'

export async function GET(request: NextRequest) {
  const conn = connect({url: process.env.DATABASE_URL})
  const result = await conn.execute('show tables')
  return NextResponse.json({result});
}

See TiDB Cloud Serverless Driver documentation to learn more.

Configuration

See Configure TiDB Cloud Serverless Driver.

License

Apache 2.0, see LICENSE.

Package Sidebar

Install

npm i @shiyuhang0/serverless

Weekly Downloads

1

Version

0.0.11-beta2

License

Apache-2.0

Unpacked Size

40.3 kB

Total Files

7

Last publish

Collaborators

  • shiyuhang0