mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
wrapping some agent components.
This commit is contained in:
@@ -1,46 +0,0 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "Status" AS ENUM ('waiting', 'ongoing', 'failed', 'success');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Agent" (
|
||||
"id" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT,
|
||||
"last_contact" TIMESTAMP(3),
|
||||
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Agent_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Database" (
|
||||
"id" TEXT NOT NULL,
|
||||
"agent_id" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT,
|
||||
"backup_policy" TEXT,
|
||||
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Database_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Backup" (
|
||||
"id" TEXT NOT NULL,
|
||||
"database_id" TEXT NOT NULL,
|
||||
"status" "Status" NOT NULL DEFAULT 'waiting',
|
||||
"file" TEXT,
|
||||
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Backup_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Restore" (
|
||||
"id" TEXT NOT NULL,
|
||||
"backup_id" TEXT NOT NULL,
|
||||
"status" "Status" NOT NULL DEFAULT 'waiting',
|
||||
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Restore_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
@@ -1,12 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- A unique constraint covering the columns `[slug]` on the table `Agent` will be added. If there are existing duplicate values, this will fail.
|
||||
- Added the required column `slug` to the `Agent` table without a default value. This is not possible if the table is not empty.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "Agent" ADD COLUMN "slug" TEXT NOT NULL;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Agent_slug_key" ON "Agent"("slug");
|
||||
@@ -1,2 +0,0 @@
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Database" ADD CONSTRAINT "Database_agent_id_fkey" FOREIGN KEY ("agent_id") REFERENCES "Agent"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
+33
-20
@@ -61,35 +61,39 @@ model User {
|
||||
image String?
|
||||
role String?
|
||||
password String?
|
||||
authMethod String? @map("auth_method")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime? @updatedAt @map("updated_at")
|
||||
|
||||
accounts Account[]
|
||||
sessions Session[]
|
||||
authMethod String?
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime? @updatedAt @map("updated_at")
|
||||
accounts Account[]
|
||||
sessions Session[]
|
||||
|
||||
@@map("users")
|
||||
}
|
||||
|
||||
model Agent {
|
||||
id String @id @default(cuid())
|
||||
slug String @unique
|
||||
id String @id @default(cuid())
|
||||
slug String @unique
|
||||
name String
|
||||
description String?
|
||||
lastContact DateTime? @map("last_contact")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
databases Database[]
|
||||
lastContact DateTime? @map("last_contact")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
|
||||
databases Database[]
|
||||
}
|
||||
|
||||
model Database {
|
||||
id String @id @default(cuid())
|
||||
agentId String @map("agent_id")
|
||||
agent Agent @relation(fields: [agentId], references: [id], onDelete: Cascade)
|
||||
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
description String?
|
||||
backupPolicy String? @map("backup_policy")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
|
||||
agentId String @map("agent_id")
|
||||
agent Agent @relation(fields: [agentId], references: [id], onDelete: Cascade)
|
||||
|
||||
backups Backup[]
|
||||
restaurations Restauration[]
|
||||
}
|
||||
|
||||
enum Status {
|
||||
@@ -100,16 +104,25 @@ enum Status {
|
||||
}
|
||||
|
||||
model Backup {
|
||||
id String @id @default(cuid())
|
||||
id String @id @default(cuid())
|
||||
status Status @default(waiting)
|
||||
file String?
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
|
||||
databaseId String @map("database_id")
|
||||
status Status @default(waiting)
|
||||
file String?
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
database Database @relation(fields: [databaseId], references: [id], onDelete: Cascade)
|
||||
|
||||
restaurations Restauration[]
|
||||
}
|
||||
|
||||
model Restore {
|
||||
model Restauration {
|
||||
id String @id @default(cuid())
|
||||
backupId String @map("backup_id")
|
||||
status Status @default(waiting)
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
|
||||
backupId String @map("backup_id")
|
||||
backup Backup @relation(fields: [backupId], references: [id], onDelete: Cascade)
|
||||
|
||||
databaseId String? @map("database_id")
|
||||
database Database? @relation(fields: [databaseId], references: [id], onDelete: Cascade)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user