Bolt\Storage\Database\Schema\Builder\ContentTables::getSchemaTables PHP Method

getSchemaTables() public method

Build the schema for Bolt ContentType tables.
public getSchemaTables ( Doctrine\DBAL\Schema\Schema $schema, Config $config ) : Doctrine\DBAL\Schema\Table[]
$schema Doctrine\DBAL\Schema\Schema
$config Bolt\Config
return Doctrine\DBAL\Schema\Table[]
    public function getSchemaTables(Schema $schema, Config $config)
    {
        if ($this->tableSchemas !== null) {
            return $this->tableSchemas;
        }
        /** @var $fieldManager FieldManager */
        $fieldManager = $config->getFields();
        $contentTypes = $this->getNormalisedContentTypes($config);
        $tables = [];
        foreach ($this->tables->keys() as $name) {
            $contentType = $contentTypes[$name];
            /** @var ContentType $table */
            $table = $this->tables[$name];
            $tables[$name] = $table->buildTable($schema, $name, $this->charset, $this->collate);
            if (isset($contentType['fields']) && is_array($contentType['fields'])) {
                $this->addContentTypeTableColumns($this->tables[$name], $tables[$name], $contentType['fields'], $fieldManager);
            }
        }
        return $this->tableSchemas = $tables;
    }