mirror of
https://github.com/Floriansylvain/ParisMuseesQuizz.git
synced 2026-08-19 11:43:22 +02:00
Added DB schemas and prisma migration
This commit is contained in:
@@ -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;
|
||||||
@@ -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"
|
||||||
@@ -15,3 +15,27 @@ model User {
|
|||||||
created_at DateTime @default(now())
|
created_at DateTime @default(now())
|
||||||
updated_at DateTime @updatedAt
|
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])
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user