src/Migration.php

Summary

Maintainability
D
2 days
Test Coverage

Showing 8 of 8 total issues

File Migration.php has 417 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php
 
declare(strict_types=1);
 
namespace atk4\schema;
Severity: Minor
Found in src/Migration.php - About 6 hrs to fix

    Migration has 32 functions (exceeds 20 allowed). Consider refactoring.
    Open

    abstract class Migration extends Expression
    {
    public const REF_TYPE_NONE = 0;
    public const REF_TYPE_LINK = 1;
    public const REF_TYPE_PRIMARY = 2;
    Severity: Minor
    Found in src/Migration.php - About 4 hrs to fix

      Function run has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
      Open

      public function run(): string
      {
      $changes = $added = $altered = $dropped = 0;
       
      // We use this to read fields from SQL
      Severity: Minor
      Found in src/Migration.php - About 2 hrs to fix

      Method run has 44 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      public function run(): string
      {
      $changes = $added = $altered = $dropped = 0;
       
      // We use this to read fields from SQL
      Severity: Minor
      Found in src/Migration.php - About 1 hr to fix

        Function setModel has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
        Open

        public function setModel(Model $m): Model
        {
        $this->table($m->table);
         
        foreach ($m->getFields() as $field) {
        Severity: Minor
        Found in src/Migration.php - About 1 hr to fix

        Function _render_statements has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
        Open

        public function _render_statements(): string
        {
        $result = [];
         
        if (isset($this->args['dropField'])) {
        Severity: Minor
        Found in src/Migration.php - About 55 mins to fix

        Function createModel has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
        Open

        public function createModel($persistence, $table = null): Model
        {
        $this['table'] = $table ?? $this['table'];
         
        $m = new Model([$persistence, 'table' => $this['table']]);
        Severity: Minor
        Found in src/Migration.php - About 55 mins to fix

        Function getSqlFieldType has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

        public function getSqlFieldType(?string $type, array $options = []): ?string
        {
        if ($type !== null) {
        $type = strtolower($type);
        }
        Severity: Minor
        Found in src/Migration.php - About 45 mins to fix

        There are no issues that match your filters.

        Category
        Status