tipos tipo telefono smallint rango precio para ejemplos datos dato php symfony doctrine2 doctrine symfony1

php - telefono - tipos de datos en sql server pdf



¿Cómo obtener doctrina para generar sql con el tipo BIGINT? (3)

En mi esquema, tengo un número de campo que debe ser BIGINT. Yo uso Symfony

symfony doctrine:build-sql

para generar mi base de datos

Los campos siempre salen como tipo int.

He intentado los siguientes tipos en el esquema:

int {type: integer, notnull: true} {type: integer(5), notnull: true} {type: bigint, notnull: true}

Ninguno de ellos parece funcionar (siempre reconstruyo el modelo antes de construir el SQL).

¿Qué tipo debo poner en schema.yml?


Depende de su RDBMS, pero si usa MySQL, puede leer lib / plugins / sfDoctrinePlugin / lib / vendor / doctrine / Doctrine / DataDict / Mysql.php

case ''integer'': case ''int'': if ( ! empty($field[''length''])) { $length = $field[''length'']; if ($length <= 1) { return ''TINYINT''; } elseif ($length == 2) { return ''SMALLINT''; } elseif ($length == 3) { return ''MEDIUMINT''; } elseif ($length == 4) { return ''INT''; } elseif ($length > 4) { return ''BIGINT''; } } return ''INT'';

entonces su segundo intento debería haber funcionado ... ¿o usa otro RDBMS? Debería establecer un punto de interrupción en esta línea de código y realizar una depuración paso a paso, esto es extraño. Además, verifique el contenido de su archivo Mysql.php para ver si tiene lo mismo que yo (uso la doctrina incluida con sf 1.4.11)


sí, el entero (5) debería hacer el trabajo.

Puede verificar otros tipos de datos de esquema en el libro de Symfony y Doctrine , pero tenga en cuenta que es la versión 1.2 y ya no se mantiene.

Atentamente.


Con Symfony 2.x (por ejemplo, Doctrine 2.4.1) y las anotaciones de PHP en Entidades, usando @ORM/Column(name="id", type="bigint") da como resultado un bigint(20) MySQL bigint(20) .

NB: OP etiquetó esta pregunta con symfony1 y doctrine1, por lo que esta solución no funcionará .