- changed milestone to 0.3.2
postgres reflection for composite primary keys broken
Issue #382
resolved
the regular expression in postgres reflecttable only gets at most two of the columns from a foreign key specification. the following schema:
CREATE TABLE companies (
cod_company VARCHAR(8) PRIMARY KEY
);
CREATE TABLE practices (
cod_company VARCHAR(8) NOT NULL REFERENCES companies,
cod_practice VARCHAR(8) NOT NULL,
PRIMARY KEY (cod_company, cod_practice)
);
CREATE TABLE businesslines (
cod_company VARCHAR(8) NOT NULL,
cod_practice VARCHAR(8) NOT NULL,
cod_bl VARCHAR(8) NOT NULL,
FOREIGN KEY (cod_company, cod_practice) REFERENCES practices (cod_company, cod_practice) MATCH FULL,
PRIMARY KEY (cod_company, cod_practice, cod_bl)
);
CREATE TABLE factories (
cod_company VARCHAR(8) NOT NULL,
cod_practice VARCHAR(8) NOT NULL,
cod_bl VARCHAR(8) NOT NULL,
cod_fctry VARCHAR(8) NOT NULL,
FOREIGN KEY (cod_company, cod_practice, cod_bl) REFERENCES businesslines (cod_company, cod_practice, cod_bl) MATCH FULL,
PRIMARY KEY (cod_company, cod_practice, cod_bl, cod_fctry)
);
CREATE TABLE users (
uid VARCHAR(32) PRIMARY KEY,
cod_company VARCHAR(8) NOT NULL,
cod_practice VARCHAR(8) NOT NULL,
cod_bl VARCHAR(8) NOT NULL,
cod_fctry VARCHAR(8) NOT NULL,
FOREIGN KEY (cod_company, cod_practice, cod_bl, cod_fctry) REFERENCES factories (cod_company, cod_practice, cod_bl, cod_fctry) MATCH FULL
);
for the users table only gets a foreign key of:
OrderedSet([ForeignKey('factories.cod_fctry')](ForeignKey('factories.cod_company'),))
Comments (3)
-
reporter -
reporter - changed status to resolved
-
reporter - removed milestone
Removing milestone: 0.3.2 (automated comment)
- Log in to comment