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.