EMissingSequenceError problem

Hi All,

Complete newbie with XData and Aurelius. I have been following along with the YouTube video : "TMS WEB Core event @ London: XData".

I get up to where I am generating TMS Aurelius entities and i get the error :

EMissingSequenceError: Missing sequence for tables "COMPANIES".

I am using Firebird 3, with SQL dialect 3.

Can anyone tell me what I've done wrong?

Thanks,
Paul

Hi, i think you should to add Sequence attribute
  [Entity]
  [Automapping]
  [Sequence('SeqPerson')]
  [Id('FId', TIdGenerator.IdentityOrSequence)]
  TPerson = class
  private
    FId: integer;
    FLastName: string;
    FFirstName: string;
  public
    property Id: integer read FId;
    property LastName: string read FLastName write FLastName;
  end;

Hi Carla,

Thanks for the answer, but i don't think I'm getting that far. I get the error when I try to preview the generated entities from the "Generate TMS Aurelius Entities" dialog.

I get the error while still in the dialog. I don't get as far as seeing anything generated.

Cheers,
Paul
If you are using Data Modeler, thenTab: Mappings->Adavnced -> Sequence/Generator. You could create a generator ou select (none).

Hey Carla, thanks for the help. Is anyone able to explain why the entities generator is giving me the error.
I don't have any sequences or generators in my database, so I don't understand why I'm getting the error.
And I wasn't using the Data Modeler. I was inside Delphi, I right clicked on the TAureliusConnection component, and clicked "Generate entities from database..."
This opened the "Generate TMS Aurelius Entities" dialog. I leave all tables selected and click on the preview tab, and then the error happens.
I am using Firebird 3 with FireDac in Delphi 10.2.3.

Cheers,
Paul 

Hi Paul,

You've hit a very specific situation.
First, when the database doesn't support identity/autogenerated columns, Aurelius will require sequences/generators to be associated with each table for id generation. That means that for SQL Server, for example, nothing will happen, but for Firebird 2.5 for example, a generator for a table with an autogenerated id is required. That's why the entity generator asks you that.

You can control that in option "Check for missing sequences", in tab "Advanced Settings". The default is "If supported by database". You can change it to "Never" and that message will go away regardless of database you are using.

However, you can say: "but I'm using Firebird 3, which supports identity columns, why it's still requiring it". You are right, that was an issue in TAureliusConnection in which it was not making a distinction between Firebird 2 and Firebird 3. This has been fixes in TMS Aurelius 4.1.1, released 10 days ago. If you are not using latest version, just update it. If you are, then make sure you use "Firebird3" in SQLDialect property of TAureliusConnection component.
Hi Wagner,

I'm happy to set the "Check for missing sequences" to Never. But I will let you know that I am using 4.1.1 and my SQLDialect is set to Firebird3, but i still get the error.

Happy to send you the Firebird database if that would help find the problem.

Cheers,
Paul

Hello Paul,

Sorry, it was my mistake. What 4.1.1 fixes is the distinction between Firebird 2 and Firebird 3. That was causing the issue of Boolean fields not being recognized as a valid data type.
But the checking for sequences will continue in Firebird 3 because sequences are "supported by the database". So indeed either you have to define the sequences or change the option to "Never".

Thanks for this question, I had the same issue, now fixed (FB3, using primary key and generator, not sequence).