code: public function generateRules($table)
      {
          $types = [];
          $lengths = [];
          foreach ($table->columns as $column) {
              if ($column->autoIncrement) {
                  continue;
              }
              if (!$column->allowNull && $column->defaultValue === null && !$column->isPrimaryKey) {
                  $types['required'][] = $column->name;
              }
              switch ($column->type) {
                  case Schema::TYPE_SMALLINT:
                  case Schema::TYPE_INTEGER:
                  case Schema::TYPE_BIGINT:
                      $types['integer'][] = $column->name;
                      break;
                  case Schema::TYPE_BOOLEAN:
                      $types['boolean'][] = $column->name;
                      break;
                  case Schema::TYPE_FLOAT:
                  case Schema::TYPE_DECIMAL:
                  case Schema::TYPE_MONEY:
                      $types['number'][] = $column->name;
                      break;
                  case Schema::TYPE_DATE:
                  case Schema::TYPE_TIME:
                  case Schema::TYPE_DATETIME:
                  case Schema::TYPE_TIMESTAMP:
                      if (!in_array($column->name, ['created', 'deleted', 'modified'])) {
                          $types['safe'][] = $column->name;
                      }
                      break;
                  default: // strings
                      if ($column->size > 0) {
                          $lengths[$column->size][] = $column->name;
                      } else {
                          $types['string'][] = $column->name;
                      }
              }
          }
  
          $rules = [];
          foreach ($types as $type => $columns) {
              $rules[] = "[['" . implode("', '", $columns) . "'], '$type']";
          }
          foreach ($lengths as $length => $columns) {
              $rules[] = "[['" . implode("', '", $columns) . "'], 'string', 'max' => $length]";
          }
  
          return $rules;
      }
docs: Generates validation rules for the specified table.
  
  @param \yii\db\TableSchema $table the table schema
  
  @return array the generated validation rules