Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Database/Schema/Parser/ArrayParser.php
Строк: 45
<?php
namespace ConcreteCoreDatabaseSchemaParser;

class 
ArrayParser
{

    public function 
addColumns(DoctrineDBALSchemaTable $table$columns)
    {
        foreach (
$columns as $column) {
            
$table->addColumn($column['name'], $column['type'], $column['options']);
        }
        return 
$table;
    }

    public function 
parse($definitionConcreteCoreDatabaseConnectionConnection $db)
    {
        
$schema = new DoctrineDBALSchemaSchema();
        foreach (
$definition as $tableName => $details) {
            if (
$db->tableExists($tableName)) {
                continue;
            }
            
$table $schema->createTable($tableName);
            if (isset(
$details['columns'])) {
                
$table $this->addColumns($table$details['columns']);
            }
            else {
                throw new 
Exception(t('Invalid column definition: %s in table %s'var_export($detailstrue), $tableName));
            }
            
$table->setPrimaryKey($details['primary']);
        }

        return 
$schema;

    }

}
Онлайн: 3
Реклама