Docsortingne 2 Génère du SQL à partir de l'entité Metas non explicite NULL sur les attributes nullable = false sur SQLServer

Je crée mon script db à partir $sqlSchema = $this->tool->createSchema($this->metas); d'entité, en utilisant $sqlSchema = $this->tool->createSchema($this->metas); et cette méthode exécute le SQL correctement, mais pour une raison quelconque, les attributes définis comme nullable=false , il ne définit pas explicitement NULL.

Générer à partir de Docsortingne:

 CREATE TABLE my_table ( id INT IDENTITY NOT NULL, name INT NOT NULL, other_column INT, other_column2 NVARCHAR(2500), ); 

Ce dont j'ai besoin:

 CREATE TABLE my_table ( id INT IDENTITY NOT NULL, name INT NOT NULL, other_column INT NULL, other_column2 NVARCHAR(2500) NULL, ); 

Ce script quand j'exécute de docsortingne, toutes les colonnes qui n'ont pas de NULL explicite ses mises NE NULL. Si j'exécute à partir d'un outil client, cela fonctionne très bien. Et changer le type de connection à MySQL son s'exécute bien, définissant NULL et NOT NULL correctement.

J'utilise Docsortingne 2.3.4 et SQLServer 2012.

Merci.

Votre problème ici est probablement lié à une information manquante dans la définition de l'entité.

Vous devriez essayer de définir une valeur par défaut (dans votre cas null) soit dans l'annotation d'entité, soit dans le yml, en fonction de votre style de définition. Aussi, vous devriez marquer votre champ comme nullable via une instruction nullable = true .

Exemple d'annotation:

 @ORM\Column(name="baz", [...], nullable=true, options={"default":null}) 

exemple yml:

 Entity\Entity_name: type: entity table: table_name fields: field_name: type: ssortingng nullable: true options: default: null 

J'espère que ça aide, salutations.