Моделирование привязки: создание временных таблиц для PostgreSQL - PullRequest
0 голосов
/ 04 июля 2019

Я сделал ужасно простую модель привязки , просто «Клиент» с именем и адресом. Я могу сгенерировать SQL для Postgres, но в момент историзации атрибута (например, адреса) инструмент моделирования привязки больше не генерирует SQL. Если я «неисторизирую» атрибут, то инструмент моделирования привязки снова успешно генерирует SQL. Если я переключаюсь на генерацию SQL Server или Oracle, то инструмент моделирования привязки генерирует SQL для историализированных атрибутов без каких-либо проблем. Таким образом, эта проблема специфична для генерации SQL для Postgres.

Есть идеи, что вызывает это?

Замечу, что на странице поддержки моделирования якоря 1008 * есть следующий комментарий:

Я пытаюсь использовать 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>
...