Skip to content
Oxford Harrison edited this page Nov 15, 2024 · 15 revisions

DOCSLANGCREATE


See APIS ➞ client.query(), client.createDatabase()

Create empty database:

// (a): SQL syntax
await client.query(
    `CREATE SCHEMA database_1`,
    { desc: 'Create description' }
);
// (b): Function-based syntax
const database = await client.createDatabase(
    `database_1`,
    { desc: 'Create description' }
);

Note

While the function-based syntax may read "create database", the "schema" kind is implied by default. To actually imply the "database" kind, set options.kind === 'database':

client.createDatabase(..., { desc: 'Create description', kind: 'database' });

Create with tables:

// Function-based syntax
const database = await client.createDatabase(
    {
        name: 'database_1',
        tables: [{
            name: 'table_1',
            columns: []
        }, {
            name: 'table_2',
            columns: []
        }]
    },
    { desc: 'Create description' }
);

The IF NOT EXISTS clause

Create with an EXISTS check:

// (a): SQL syntax
await client.query(
    `CREATE SCHEMA IF NOT EXISTS database_1`,
    { desc: 'Create description' }
);
// (b): Function-based syntax
const database = await client.createDatabase(
    `database_1`,
    { desc: 'Create description', ifNotExists: true }
);

The RETURNING clause

Return the resulting database schema:

// (a): SQL syntax
const schema = await client.query(
    `CREATE SCHEMA database_1
    RETURNING SCHEMA`,
    { desc: 'Create description' }
);
// (b): Function-based syntax
const schema = await client.createDatabase(
    'database_1',
    { desc: 'Create description', returning: 'schema' }
);

See related ➞ database.schema()

Return the associated savepoint instance:

// (a): SQL syntax
const savepoint = await client.query(
    `CREATE SCHEMA database_1
    RETURNING SAVEPOINT`,
    { desc: 'Create description' }
);
// (b): Function-based syntax
const savepoint = await client.createDatabase(
    'database_1',
    { desc: 'Create description', returning: 'savepoint' }
);

See related ➞ database.savepoint()

Clone this wiki locally