src/Database/Schema/DynamoDbSchema.php
protected function loadTableColumns(TableSchema $table)
    {
        try {
            $result = $this->connection->describeTable([static::TABLE_INDICATOR => $table->name]);

            // The result of an operation can be used like an array
            $table->native = $result['Table'];
            $attributes = $result['Table']['AttributeDefinitions'];
            $keys = $result['Table']['KeySchema'];
            foreach ($attributes as $attribute) {
                $dbType = array_get($attribute, 'AttributeType', 'S');
                $type = static::extractSimpleType(static::awsTypeToType($dbType));
                $name = array_get($attribute, 'AttributeName');
                $column = ['name' => $name, 'type' => $type, 'db_type' => $dbType];
                $c = new ColumnSchema($column);
                $c->quotedName = $this->quoteColumnName($c->name);
                foreach ($keys as $key) {
                    if ($name === array_get($key, 'AttributeName')) {
                        $c->isPrimaryKey = true;
                        $table->addPrimaryKey($c->name);
                    }
                }

                $table->addColumn($c);
            }
        } catch (DynamoDbException $ex) {
            switch ($ex->getAwsErrorCode()) {
                case 'ResourceNotFoundException':
                    throw new NotFoundException("Table not found for '$table'.");
                    break;
                default:
                    throw new BadRequestException($ex->getMessage());
            }
        }
    }
protected function loadTableColumns(TableSchema $table)
    {
        try {
            $result = $this->connection->describeTable([static::TABLE_INDICATOR => $table->name]);

            // The result of an operation can be used like an array
            $table->native = $result['Table'];
            $attributes = $result['Table']['AttributeDefinitions'];
            $keys = $result['Table']['KeySchema'];
            foreach ($attributes as $attribute) {
                $dbType = array_get($attribute, 'AttributeType', 'S');
                $type = static::extractSimpleType(static::awsTypeToType($dbType));
                $name = array_get($attribute, 'AttributeName');
                $column = ['name' => $name, 'type' => $type, 'db_type' => $dbType];
                $c = new ColumnSchema($column);
                $c->quotedName = $this->quoteColumnName($c->name);
                foreach ($keys as $key) {
                    if ($name === array_get($key, 'AttributeName')) {
                        $c->isPrimaryKey = true;
                        $table->addPrimaryKey($c->name);
                    }
                }

                $table->addColumn($c);
            }
        } catch (DynamoDbException $ex) {
            switch ($ex->getAwsErrorCode()) {
                case 'ResourceNotFoundException':
                    throw new NotFoundException("Table not found for '$table'.");
                    break;
                default:
                    throw new BadRequestException($ex->getMessage());
            }
        }
    }
{@inheritdoc}