Якорное моделирование: создание временных таблиц для PostgreSQL
Я сделал ужасно простую модель привязки, просто "Клиент" с именем и адресом. Я могу сгенерировать SQL для Postgres, но в момент историзации атрибута (например, адреса) инструмент моделирования привязки больше не генерирует SQL. Если я "неисторизирую" атрибут, то инструмент моделирования привязки снова успешно генерирует SQL. Если я переключаюсь на генерацию SQL Server или Oracle, то инструмент моделирования привязки генерирует SQL для историализированных атрибутов без каких-либо проблем. Таким образом, эта проблема специфична для генерации SQL для Postgres.
Есть идеи, что вызывает это?
Я отмечаю, что на странице поддержки моделирования якоря есть следующий комментарий:
Я пытаюсь использовать Anchor Modeling для создания 6NF + 3NF представлений в AWS Redshift. Я использую схему генерации PostgreSQL, но после того, как немного усложнился, он не может генерировать SQL. Может я что-то делаю неправильно или может это ограничение моделера? Я бы хотел, чтобы кто-то взглянул на мою модель, чтобы понять, какие из этих проблем являются проблемой.
Я хотел бы верить, что то, что я делаю, не "немного сложно", но, по крайней мере, я знаю, что может быть проблема.
Возможно, есть обходной путь, кто-то знает?
Фактическая модель, которую я сделал, ниже. Эта версия генерирует SQL для Postgres. Однако в тот момент, когда я историзую один из атрибутов - он перестает генерировать.
<schema format="0.99" date="2019-07-03" time="17:01:32">
<metadata changingRange="timestamp(3)" encapsulation="dbo" identity="numeric(10)" metadataPrefix="Metadata" metadataType="numeric(10)" metadataUsage="false" changingSuffix="ChangedAt" identitySuffix="ID" positIdentity="numeric(10)" positGenerator="true" positingRange="timestamp(3)" positingSuffix="PositedAt" positorRange="numeric(5)" positorSuffix="Positor" reliabilityRange="NUMBER(5,2)" reliabilitySuffix="Reliability" deleteReliability="0" assertionSuffix="Assertion" partitioning="false" entityIntegrity="false" restatability="true" idempotency="false" assertiveness="true" naming="improved" positSuffix="Posit" annexSuffix="Annex" chronon="timestamp(7)" now="sysdatetime()" dummySuffix="Dummy" versionSuffix="Version" statementTypeSuffix="StatementType" checksumSuffix="Checksum" businessViews="false" decisiveness="false" equivalence="false" equivalentSuffix="EQ" equivalentRange="numeric(5)" databaseTarget="PostgreSQL" temporalization="uni"/>
<anchor mnemonic="CU" descriptor="Customer" identity="INT">
<metadata capsule="dbo" generator="true"/>
<attribute mnemonic="NAM" descriptor="Name" dataRange="VARCHAR(50)">
<metadata capsule="dbo"/>
<layout x="745.00" y="286.00" fixed="false"/>
</attribute>
<attribute mnemonic="ADD" descriptor="Address" dataRange="VARCHAR(512)">
<metadata capsule="dbo"/>
<layout x="759.00" y="357.00" fixed="false"/>
</attribute>
<attribute mnemonic="CID" descriptor="GSID" dataRange="INTEGER">
<metadata capsule="dbo"/>
<layout x="660.00" y="239.00" fixed="true"/>
</attribute>
<attribute mnemonic="EMA" descriptor="EMail" dataRange="VARCHAR(100)">
<metadata capsule="dbo"/>
<layout x="615.03" y="378.56" fixed="false"/>
</attribute>
<attribute mnemonic="PHO" descriptor="Phone" dataRange="VARCHAR(50)">
<metadata capsule="dbo"/>
<layout x="564.75" y="293.00" fixed="false"/>
</attribute>
<layout x="666.38" y="328.40" fixed="false"/>
</anchor>
</schema>