code: protected function loadTableChecks($tableName)
      {
          $sql = $this->db->createCommand('SELECT `sql` FROM `sqlite_master` WHERE name = :tableName', [
              ':tableName' => $tableName,
          ])->queryScalar();
          /** @var $code SqlToken[]|SqlToken[][]|SqlToken[][][] */
          $code = (new SqlTokenizer($sql))->tokenize();
          $pattern = (new SqlTokenizer('any CREATE any TABLE any()'))->tokenize();
          if (!$code[0]->matches($pattern, 0, $firstMatchIndex, $lastMatchIndex)) {
              return [];
          }
  
          $createTableToken = $code[0][$lastMatchIndex - 1];
          $result = [];
          $offset = 0;
          while (true) {
              $pattern = (new SqlTokenizer('any CHECK()'))->tokenize();
              if (!$createTableToken->matches($pattern, $offset, $firstMatchIndex, $offset)) {
                  break;
              }
  
              $checkSql = $createTableToken[$offset - 1]->getSql();
              $name = null;
              $pattern = (new SqlTokenizer('CONSTRAINT any'))->tokenize();
              if (isset($createTableToken[$firstMatchIndex - 2]) && $createTableToken->matches($pattern, $firstMatchIndex - 2)) {
                  $name = $createTableToken[$firstMatchIndex - 1]->content;
              }
              $result[] = new CheckConstraint([
                  'name' => $name,
                  'expression' => $checkSql,
              ]);
          }
  
          return $result;
      }
docs: {@inheritdoc}