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())
|
||||
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