I created a view and CDT on top of it;however Data Store is failing to publish the new entity with below error:
The data store "FAS" [id=5401] was saved but cannot be published: An error occurred while trying to modify the data source schema: (conn=267964) 'Appian.FAS_VW_GET_WORK_REPORT' is not of type 'BASE TABLE' (APNX-1-4178-000)
I downloaded the DDL as mentioned and it doesnot look appropriate, please check the DDL update suggested below:
/* UPDATE DDL */ alter table `FAS_VW_GET_WORK_REPORT` add column a_id bigint not null;
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:com:appian:types:FAS" targetNamespace="urn:com:appian:types:FAS"> <xsd:complexType name="FAS_VW_getWorkDataReport"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Table(name="FAS_VW_GET_WORK_REPORT")</xsd:appinfo> <xsd:documentation><![CDATA[FAS_VW_getWorkDataReport]]></xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="count" nillable="true" type="xsd:int"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="COUNT", columnDefinition="INT")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="username" nillable="true" type="xsd:string"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="USERNAME", columnDefinition="VARCHAR(500)")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="action" nillable="true" type="xsd:string"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="ACTION", columnDefinition="VARCHAR(255)")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="datetime" nillable="true" type="xsd:dateTime"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="DATETIME", columnDefinition="DATETIME")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="caseId" nillable="true" type="xsd:int"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="CASE_ID", columnDefinition="INT")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="clientType" nillable="true" type="xsd:string"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="CLIENT_TYPE", columnDefinition="VARCHAR(255)")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="transactionType" nillable="true" type="xsd:string"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="TRANSACTION_TYPE", columnDefinition="VARCHAR(255)")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="transactionSubType" nillable="true" type="xsd:string"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="TRANSACTION_SUB_TYPE", columnDefinition="VARCHAR(255)")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="task" nillable="true" type="xsd:string"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="TASK", columnDefinition="VARCHAR(255)")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="caseStatus" nillable="true" type="xsd:string"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="CASE_STATUS", columnDefinition="VARCHAR(255)")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="createdBy" nillable="true" type="xsd:string"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="CREATED_BY", columnDefinition="VARCHAR(255)")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="createdDateTime" nillable="true" type="xsd:dateTime"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="CREATED_DATE_TIME", columnDefinition="DATETIME")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="updatedBy" nillable="true" type="xsd:string"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="UPDATED_BY", columnDefinition="VARCHAR(255)")</xsd:appinfo> </xsd:annotation> </xsd:element> <xsd:element name="updatedDateTime" nillable="true" type="xsd:dateTime"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="UPDATED_DATE_TIME", columnDefinition="DATETIME")</xsd:appinfo> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:schema>
Discussion posts and replies are publicly visible
As the name of the CDT suggests, it is a view. Datastores cannot create a view when save and published. They will treat it as a table only. You can make the relevant changes in your view to sync it with your CDT and then try publishing again.
HI, Can you tell how did you create your CDT? was it created from XSD or directly from database view?