public function __construct($database, $ignoreIndexNames, $ignoreForeignKeyNames)
{
$connection = DB::connection($database)->getDoctrineConnection();
$connection->getDatabasePlatform()->registerDoctrineTypeMapping('json', 'text');
$connection->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
$connection->getDatabasePlatform()->registerDoctrineTypeMapping('bit', 'boolean');
$this->database = $connection->getDatabase();
$this->schema = $connection->getSchemaManager();
$this->fieldGenerator = new FieldGenerator();
$this->foreignKeyGenerator = new ForeignKeyGenerator();
$this->ignoreIndexNames = $ignoreIndexNames;
$this->ignoreForeignKeyNames = $ignoreForeignKeyNames;
}