Browse Source

Creating a many-to-many database scenario and seeding with data.

gh-pages
mike12345567 5 years ago
parent
commit
4a7e2ffa4f
  1. 23
      packages/server/scripts/integrations/postgres/init.sql
  2. 3
      packages/server/scripts/integrations/postgres/reset.sh
  3. 6
      packages/server/src/definitions/datasource.ts

23
packages/server/scripts/integrations/postgres/init.sql

@ -15,3 +15,26 @@ CREATE TABLE Tasks (
FOREIGN KEY(PersonID) FOREIGN KEY(PersonID)
REFERENCES Persons(PersonID) REFERENCES Persons(PersonID)
); );
CREATE TABLE Products (
ProductID INT NOT NULL PRIMARY KEY,
ProductName varchar(255)
);
CREATE TABLE Products_Tasks (
ProductID INT NOT NULL,
TaskID INT NOT NULL,
CONSTRAINT fkProducts
FOREIGN KEY(ProductID)
REFERENCES Products(ProductID),
CONSTRAINT fkTasks
FOREIGN KEY(TaskID)
REFERENCES Tasks(TaskID),
PRIMARY KEY (ProductID, TaskID)
);
INSERT INTO Persons (PersonID, FirstName, LastName, Address, City) VALUES (1, 'Mike', 'Hughes', '123 Fake Street', 'Belfast');
INSERT INTO Tasks (TaskID, PersonID, TaskName) VALUES (1, 1, 'assembling');
INSERT INTO Products (ProductID, ProductName) VALUES (1, 'Computers');
INSERT INTO Products (ProductID, ProductName) VALUES (2, 'Laptops');
INSERT INTO Products (ProductID, ProductName) VALUES (3, 'Chairs');
INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (1, 1);
INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (2, 1);
INSERT INTO Products_Tasks (ProductID, TaskID) VALUES (3, 1);

3
packages/server/scripts/integrations/postgres/reset.sh

@ -0,0 +1,3 @@
#!/bin/bash
docker-compose down
docker volume prune -f

6
packages/server/src/definitions/datasource.ts

@ -75,11 +75,7 @@ export interface SearchFilters {
} }
export interface RelationshipsJson { export interface RelationshipsJson {
through?: { through?: string
from: string
to: string
tableName: string
}
from: string from: string
to: string to: string
tableName: string tableName: string

Loading…
Cancel
Save