SWIRLS_
ReferenceSDKClient

managedDatabases

SDK reference for manageddatabases —

list

List managed databases for the active deployment, with their tables and migration status

GET

Usage:

const result = await swirls.client.managedDatabases.list({
  projectId: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes

schema

Full table + column schema of one managed database, for SQL editor autocomplete

GET

Usage:

const result = await swirls.client.managedDatabases.schema({
  projectId: '...',
  database: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
appNamestringNo
databasestringYes

Output:

FieldTypeDescription
tablesobject[]

listRows

Read a page of rows from one table of a managed database (read-only), with optional server-side sort, filter, and search

GET

Usage:

const result = await swirls.client.managedDatabases.listRows({
  projectId: '...',
  database: '...',
  table: '...',
  limit: 1,
  offset: 1,
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
appNamestringNo
databasestringYes
tablestringYes
limitnumberYes
offsetnumberYes
orderByobjectNo
filtersobject[]No
searchstringNo
idsstring[]No

Output:

FieldTypeDescription
columnsobject[]
rowsobject[]
totalCountnumber

insertRow

Insert one row into a managed-database table (schema-allowlisted columns)

POST

Usage:

const result = await swirls.client.managedDatabases.insertRow({
  projectId: '...',
  database: '...',
  table: '...',
  fields: {},
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
appNamestringNo
databasestringYes
tablestringYes
fieldsobjectYes

updateRow

Patch one row in a managed-database table. Primary-key mutation is refused.

POST

Usage:

const result = await swirls.client.managedDatabases.updateRow({
  projectId: '...',
  database: '...',
  table: '...',
  id: '...',
  fields: {},
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
appNamestringNo
databasestringYes
tablestringYes
idstringYes
fieldsobjectYes

deleteRow

Delete one row from a managed-database table by primary key

POST

Usage:

const result = await swirls.client.managedDatabases.deleteRow({
  projectId: '...',
  database: '...',
  table: '...',
  id: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
appNamestringNo
databasestringYes
tablestringYes
idstringYes

Output:

FieldTypeDescription
idstring

runQuery

Run a SQL query against a managed database (SQL console). Read-only owner connection.

POST

Usage:

const result = await swirls.client.managedDatabases.runQuery({
  projectId: '...',
  database: '...',
  sql: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
databasestringYes
sqlstringYes

Output:

FieldTypeDescription
columnsobject[]
rowsobject[]
rowCountnumber
truncatedboolean
durationMsnumber

listConnections

List named connections provisioned for a managed database block

GET

Usage:

const result = await swirls.client.managedDatabases.listConnections({
  projectId: '...',
  database: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
appNamestringNo
databasestringYes

revealConnection

Reveal the connection string for a managed database connection (requires deployments:write)

POST

Usage:

const result = await swirls.client.managedDatabases.revealConnection({
  projectId: '...',
  database: '...',
  connection: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
appNamestringNo
databasestringYes
connectionstringYes

Output:

FieldTypeDescription
directUrlstring
pooledUrlstring

rotateConnection

Rotate a managed database connection and return the new connection string

POST

Usage:

const result = await swirls.client.managedDatabases.rotateConnection({
  projectId: '...',
  database: '...',
  connection: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
appNamestringNo
databasestringYes
connectionstringYes

Output:

FieldTypeDescription
directUrlstring
pooledUrlstring

migrationStatus

Per-database migration detail for the active deployment (status, gate reason, applied and pending data migrations)

GET

Usage:

const result = await swirls.client.managedDatabases.migrationStatus({
  projectId: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes

approveMigration

Approve a gated managed-database migration, kicking an approved re-run of the migration workflow

POST

Usage:

const result = await swirls.client.managedDatabases.approveMigration({
  projectId: '...',
  database: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
databasestringYes

Output:

FieldTypeDescription
startedtrue
deploymentIdstring

recycle

Escape hatch for a wedged managed database: provision a fresh empty instance, repoint the block at it, and reap the old one. Data is NOT migrated; the schema is recreated by deploy-time migrations on the next deploy.

POST

Usage:

const result = await swirls.client.managedDatabases.recycle({
  projectId: '...',
  database: '...',
})

Input:

ParameterTypeRequiredDescription
projectIdstringYes
databasestringYes

Output:

FieldTypeDescription
externalDatabaseIdstring
previousExternalDatabaseIdstring
healthobject

On this page