protected function getRandomValue($columnName, array $column) { $column['name'] = $columnName; switch ($column['type']) { case 'string': $val = $this->getStringValForColumn($column); break; case 'boolean': if ('is_active' === $columnName) { $val = (bool) mt_rand(0, 2); } else { $val = (bool) mt_rand(0, 1); } break; case 'blob': case 'clob': if ($this->table->isMarkdownColumn($columnName)) { $val = dmLorem::getMarkdownLorem(1); } else { $val = dmLorem::getBigLorem(); } break; case 'time': case 'timestamp': case 'date': $val = date("Y-m-d H:i:s", mt_rand(strtotime('-10 year'), time())); break; case 'year': $val = date("Y", mt_rand(strtotime('-10 year'), time())); break; case 'enum': $val = $column['values'][array_rand($column['values'])]; break; case 'integer': case 'int': $val = mt_rand(0, pow(10, $column['length']) - 1); break; case 'float': case 'decimal': $val = mt_rand(0, pow(10, $column['length']) - 1) / pow(10, dmArray::get($column, 'scale', 2)); break; default: throw new dmException(sprintf('Diem can not generate random content for %s column', $columnName)); } return $val; }