With Postgres 9.1, I define a table:
CREATE TYPE product_type AS ENUM (‘normal’, ‘service’, ‘ingredient’, ‘consumable’);
CREATE TABLE Product (
…
BasePrice MONEY,
PriceUnit1 MONEY NOT NULL,
PriceUnit2 MONEY,
Discount MONEY,
MaxDiscount MONEY,
ProductType product_type,
…
)
However, the schema say BasePrice/PriceUnit* are Float (with devart) or decimal (with npgsql.net). In the moment of applyupdates:
Debugger Exception Notification
Project CatalogSync.exe raised exception class EDAUpdatesFailedException with message 'One or more updates failed to apply on the server.
1: ERROR: column “baseprice” is of type money but expression is of type double precision at character 593
I need to manually change in the schema to datCurrency. Then with producttype
Project CatalogSync.exe raised exception class EDAUpdatesFailedException with message 'One or more updates failed to apply on the server.
1: ERROR: column “producttype” is of type product_type but expression is of type text at character 972
(Please assign a TDAReconcileProvider to the data adapter for better exception reporting and reconciliation UI)’.
However as I show before, produc_type is a string enum.
The thing that I don’t understand is why RO detect the right datatype only in the applyupdates and not when generate the fields in the schema modeler.
Then in a simpler table:
– Configuraciones globales de la APP.
CREATE TABLE Config (
Id SERIAL PRIMARY KEY,
Name TEXT NOT NULL,
Value TEXT
);
Get this error:
Project CatalogSync.exe raised exception class EDatabaseError with message ‘Field ‘id’ must have a value’.
All my Id are marked as datInteger, not datAutoInc.
P.D> Last RO version, with server .net, client delphi xe2, using Bin2Stream.
P.D.2: When switch to JSOn streamer:
Project CatalogSync.exe raised exception class EROUnregisteredServerException with message ‘An exception was raised on the server: Input string was not in a correct format.’.
Not very usefull…