Added DB schemas and prisma migration

This commit is contained in:
Florian Sylvain
2023-03-06 10:47:33 +01:00
parent 04a2ec68ac
commit 1190716486
5 changed files with 94 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
<diagram program="umletino" version="15.0.0"><zoom_level>10</zoom_level><element><id>UMLClass</id><coordinates><x>200</x><y>170</y><w>210</w><h>120</h></coordinates><panel_attributes>USER
--
_id: INT_
email: VARCHAR
password: VARCHAR
name: VARCHAR
created_at: DATE
updated_at: DATE</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>200</x><y>340</y><w>210</w><h>90</h></coordinates><panel_attributes>AUTHOR
--
_id: INT_
fullname: VARCHAR
created_at: DATE
updated_at: DATE</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>400</x><y>380</y><w>130</w><h>40</h></coordinates><panel_attributes>m1=1
m2=0..*</panel_attributes><additional_attributes>10;10;110;10</additional_attributes></element><element><id>UMLClass</id><coordinates><x>510</x><y>360</y><w>130</w><h>60</h></coordinates><panel_attributes>AUTHOR_PAINTING
--
_author_id: INT_
_painting_id: INT_</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>560</x><y>280</y><w>50</w><h>100</h></coordinates><panel_attributes>m1=1
m2=0..*</panel_attributes><additional_attributes>10;10;10;80</additional_attributes></element><element><id>UMLClass</id><coordinates><x>510</x><y>210</y><w>130</w><h>80</h></coordinates><panel_attributes>PAINTING
--
_id: INT_
name: VARCHAR
image_url: VARCHAR</panel_attributes><additional_attributes></additional_attributes></element></diagram>
Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

@@ -0,0 +1,45 @@
-- CreateTable
CREATE TABLE `User` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`email` VARCHAR(191) NOT NULL,
`password` VARCHAR(191) NOT NULL,
`name` VARCHAR(191) NOT NULL,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updated_at` DATETIME(3) NOT NULL,
UNIQUE INDEX `User_email_key`(`email`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Author` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`fullname` VARCHAR(191) NOT NULL,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updated_at` DATETIME(3) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Painting` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`name` VARCHAR(191) NOT NULL,
`image_url` VARCHAR(191) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `PaintingAuthor` (
`painting_id` INTEGER NOT NULL,
`author_id` INTEGER NOT NULL,
PRIMARY KEY (`painting_id`, `author_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- AddForeignKey
ALTER TABLE `PaintingAuthor` ADD CONSTRAINT `PaintingAuthor_painting_id_fkey` FOREIGN KEY (`painting_id`) REFERENCES `Painting`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `PaintingAuthor` ADD CONSTRAINT `PaintingAuthor_author_id_fkey` FOREIGN KEY (`author_id`) REFERENCES `Author`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
+3
View File
@@ -0,0 +1,3 @@
# Please do not edit this file manually
# It should be added in your version-control system (i.e. Git)
provider = "mysql"
+24
View File
@@ -15,3 +15,27 @@ model User {
created_at DateTime @default(now())
updated_at DateTime @updatedAt
}
model Author {
id Int @id @default(autoincrement())
fullname String
created_at DateTime @default(now())
updated_at DateTime @updatedAt
PaintingAuthor PaintingAuthor[]
}
model Painting {
id Int @id @default(autoincrement())
name String
image_url String
PaintingAuthor PaintingAuthor[]
}
model PaintingAuthor {
painting Painting @relation(fields: [painting_id], references: [id])
painting_id Int
author Author @relation(fields: [author_id], references: [id])
author_id Int
@@id([painting_id, author_id])
}