TGUID field incorrectly generated in SQLite DB

Hi,

I have added a table (Barrier in this example) to my Data Model, which is mapped to entity TBarrier:

[Entity]
  [Table('Barrier')]
  [Model('Database')]
  [Id('FID', TIdGenerator.Guid)]
  TBarrier = class
  private
    [Column('ID', [TColumnProp.Required])]
    FID: TGuid;
   
    [Column('ElementType', [TColumnProp.Required])]
    FElementType: Integer;
   
    [Column('ElementID', [TColumnProp.Required])]
    FElementID: TGuid;
   
    [Column('Barrier', [TColumnProp.Required])]
    FBarrier: Integer;
   
    [Column('MDtop', [])]
    FMDtop: Nullable<Double>;
   
    [Column('MDbtm', [])]
    FMDbtm: Nullable<Double>;
   
    [Column('Verification', [], 50)]
    FVerification: Nullable<string>;
   
    [Association([TAssociationProp.Lazy, TAssociationProp.Required], CascadeTypeAll - [TCascadeType.Remove])]
    [JoinColumn('ID_Schematic', [TColumnProp.Required], 'ID')]
    FSchematic: Proxy<TSchematic>;
    function GetSchematic: TSchematic;
    procedure SetSchematic(const Value: TSchematic);
  public
    property ID: TGuid read FID write FID;
    property ElementType: Integer read FElementType write FElementType;
    property ElementID: TGuid read FElementID write FElementID;
    property Barrier: Integer read FBarrier write FBarrier;
    property MDtop: Nullable<Double> read FMDtop write FMDtop;
    property MDbtm: Nullable<Double> read FMDbtm write FMDbtm;
    property Verification: Nullable<string> read FVerification write FVerification;
    property Schematic: TSchematic read GetSchematic write SetSchematic;
  end;

The strange thing is that when I update the database by calling TAureliusDBSchema.UpdateDatabase (on application startup), all TGUID fields are generated in the database as TEXT fields. 

The SQL script is generated correctly by the Data Modeler, so when using that, all fields are created as GUID.

I tried to paste screenshots of the table structures, but I cannot succeed in inserting an image. Please let me know if you wish to see these and, if so, how to send them.

Any idea what is happening here?

Regards,
Mark



SQLite is not a strongly typed database. All guids are saved as strings anyway in the SQLite database.