- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 2
CREATE DATABASE
        Oxford Harrison edited this page Nov 15, 2024 
        ·
        15 revisions
      
    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' }
);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 }
);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()