Database 
An alternative to the CLI variant, is to create the database in the code base during the runtime of the application. Therefore, provide the DataSourceOptions for the DataSource manually, or let it be created automatically:
Create 
Example #1
import { 
    DataSource, 
    DataSourceOptions
} from 'typeorm';
import { createDatabase } from 'typeorm-extension';
(async () => {
    const options: DataSourceOptions = {
        type: 'better-sqlite',
        database: 'db.sqlite'
    };
    // Create the database with specification of the DataSource options
    await createDatabase({
        options
    });
    const dataSource = new DataSource(options);
    await dataSource.initialize();
    // do something with the DataSource
})();Example #2
import {
    buildDataSourceOptions,
    createDatabase
} from 'typeorm-extension';
(async () => {
    const options = await buildDataSourceOptions();
    // modify options
    // Create the database with specification of the DataSource options
    await createDatabase({
        options
    });
    const dataSource = new DataSource(options);
    await dataSource.initialize();
    // do something with the DataSource
})();Example #3
It is also possible to let the library automatically search for the data-source under the hood. Therefore, it will search by default for a data-source.{ts,js} file in the following directories:
- {src,dist}/db/
- {src,dist}/database
- {src,dist}
import { createDatabase } from 'typeorm-extension';
(async () => {
    // Create the database without specifying it manually
    await createDatabase();
})();To get a better overview and understanding of the createDatabase function go to the functions section and read more about it.
Drop 
Example #1
import {
    DataSource, 
    DataSourceOptions
} from 'typeorm';
import { dropDatabase } from 'typeorm-extension';
(async () => {
    const options: DataSourceOptions = {
        type: 'better-sqlite',
        database: 'db.sqlite'
    };
    // Create the database with specification of the DataSource options
    await dropDatabase({
        options
    });
})();Example #2
import { 
    buildDataSourceOptions,
    dropDatabase 
} from 'typeorm-extension';
(async () => {
    const options = await buildDataSourceOptions();
    // modify options
    // Drop the database with specification of the DataSource options
    await dropDatabase({
        options
    });
})();Example #3
It is also possible to let the library automatically search for the data-source under the hood. Therefore, it will search by default for a data-source.{ts,js} file in the following directories:
- {src,dist}/db/
- {src,dist}/database
- {src,dist}
import { dropDatabase } from 'typeorm-extension';
(async () => {
    // Drop the database without specifying it manually
    await dropDatabase();
})();To get a better overview and understanding of the dropDatabase function go to the functions section and read more about it.