Skip to content

client.createDatabase()

Oxford Harrison edited this page Nov 15, 2024 · 9 revisions

DOCSAPIClient API


Programmatically perform a CREATE DATABASE operation.

See related ➞ CREATE DATABASE

Syntax

client.createDatabase(
    createSpec: string | DatabaseSchemaJson,
    options?: CreateOptions
): Promise<CreateDatabaseResult>;
Param Interfaces Description
createSpec DatabaseSchemaJson A database name, or an object specifying the intended database structure to create.
options? CreateOptions Optional extra parameters for the query.

CreateOptions

type CreateOptions = {
    ifNotExists?: boolean;
} & QueryOptions;
Param Interfaces Description
ifNotExists? - An optional flag that adds an EXISTS check to the operation. Defaults to false.
Interface Description
QueryOptions Inherited options.

CreateDatabaseResult

type CreateDatabaseResult = Database | DatabaseSchema | Savepoint | null;
Type Interfaces Description
Database Database For a CREATE operation without a RETURNING clause—an instance of Database on the just created object.
DatabaseSchema DatabaseSchema For an operation with a RETURNING clause set to SCHEMA-the resulting database schema instance.
Savepoint | null Savepoint For an operation with a RETURNING clause set to SAVEPOINT-the Savepoint instance associated with the DDL operation; null when savepoint creation has been disabled at the server level.

Usage

See examples ➞ CREATE DATABASE

Call patterns

Specify database by name:

const database = await client.createDatabase(
    'database_1',
    { desc: 'Create description' }
);

or by a schema object, optionally specifying a list of tables to create along with the database. (With each listed table corresponding to TableSchema (in schema.json).):

const database = await client.createDatabase(
    {
        name: 'database_1',
        tables: [{
            name: 'table_1'
            columns: [
                { name: 'column_1', type: 'int' }, 
                { name: 'column_2', type: 'time' }
            ]
        }]
    },
    { desc: 'Create description' }
);
Clone this wiki locally