diff --git a/prisma/migrations/20250422210625_feed/migration.sql b/prisma/migrations/20250422210625_feed/migration.sql new file mode 100644 index 0000000..fa58ab0 --- /dev/null +++ b/prisma/migrations/20250422210625_feed/migration.sql @@ -0,0 +1,18 @@ +-- CreateTable +CREATE TABLE "Feed" ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "name" TEXT NOT NULL, + "url" TEXT NOT NULL, + "guild_id" TEXT NOT NULL, + "active" BOOLEAN NOT NULL, + "created_at" DATETIME NOT NULL, + "updated_at" DATETIME NOT NULL +); + +-- CreateTable +CREATE TABLE "Channel" ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "channel_id" TEXT NOT NULL, + "feedId" INTEGER NOT NULL, + CONSTRAINT "Channel_feedId_fkey" FOREIGN KEY ("feedId") REFERENCES "Feed" ("id") ON DELETE RESTRICT ON UPDATE CASCADE +); diff --git a/prisma/migrations/20250422221356_feed_dates/migration.sql b/prisma/migrations/20250422221356_feed_dates/migration.sql new file mode 100644 index 0000000..dd9807b --- /dev/null +++ b/prisma/migrations/20250422221356_feed_dates/migration.sql @@ -0,0 +1,17 @@ +-- RedefineTables +PRAGMA defer_foreign_keys=ON; +PRAGMA foreign_keys=OFF; +CREATE TABLE "new_Feed" ( + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "name" TEXT NOT NULL, + "url" TEXT NOT NULL, + "guild_id" TEXT NOT NULL, + "active" BOOLEAN NOT NULL, + "created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" DATETIME NOT NULL +); +INSERT INTO "new_Feed" ("active", "created_at", "guild_id", "id", "name", "updated_at", "url") SELECT "active", "created_at", "guild_id", "id", "name", "updated_at", "url" FROM "Feed"; +DROP TABLE "Feed"; +ALTER TABLE "new_Feed" RENAME TO "Feed"; +PRAGMA foreign_keys=ON; +PRAGMA defer_foreign_keys=OFF; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 29d3187..7787074 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -11,3 +11,20 @@ datasource db { url = env("DATABASE_URL") } +model Feed { + id Int @id @default(autoincrement()) + name String + url String + guild_id String + active Boolean + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + channels Channel[] +} + +model Channel { + id Int @id @default(autoincrement()) + channel_id String + Feed Feed @relation(fields: [feedId], references: [id]) + feedId Int +}