/* Warnings: - Added the required column `password` to the `User` table without a default value. This is not possible if the table is not empty. - Added the required column `updatedAt` to the `User` table without a default value. This is not possible if the table is not empty. */ -- CreateTable CREATE TABLE "Habit" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "name" TEXT NOT NULL, "daysOfWeek" JSONB NOT NULL, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" DATETIME NOT NULL, "userId" INTEGER NOT NULL, CONSTRAINT "Habit_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "HabitCompletion" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "date" DATETIME NOT NULL, "habitId" INTEGER NOT NULL, CONSTRAINT "HabitCompletion_habitId_fkey" FOREIGN KEY ("habitId") REFERENCES "Habit" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "DailyVisit" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "date" DATETIME NOT NULL, "userId" INTEGER NOT NULL, CONSTRAINT "DailyVisit_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "Village" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "userId" INTEGER NOT NULL, CONSTRAINT "Village_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "VillageObject" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "type" TEXT NOT NULL, "x" INTEGER NOT NULL, "y" INTEGER NOT NULL, "obstacleMetadata" TEXT, "cropType" TEXT, "plantedAt" DATETIME, "villageId" INTEGER NOT NULL, CONSTRAINT "VillageObject_villageId_fkey" FOREIGN KEY ("villageId") REFERENCES "Village" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- RedefineTables PRAGMA defer_foreign_keys=ON; PRAGMA foreign_keys=OFF; CREATE TABLE "new_User" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "email" TEXT NOT NULL, "password" TEXT NOT NULL, "nickname" TEXT, "avatar" TEXT DEFAULT '/avatars/default.png', "coins" INTEGER NOT NULL DEFAULT 0, "exp" INTEGER NOT NULL DEFAULT 0, "soundOn" BOOLEAN NOT NULL DEFAULT true, "confettiOn" BOOLEAN NOT NULL DEFAULT true, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" DATETIME NOT NULL ); INSERT INTO "new_User" ("createdAt", "email", "id") SELECT "createdAt", "email", "id" FROM "User"; DROP TABLE "User"; ALTER TABLE "new_User" RENAME TO "User"; CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); PRAGMA foreign_keys=ON; PRAGMA defer_foreign_keys=OFF; -- CreateIndex CREATE UNIQUE INDEX "HabitCompletion_habitId_date_key" ON "HabitCompletion"("habitId", "date"); -- CreateIndex CREATE UNIQUE INDEX "DailyVisit_userId_date_key" ON "DailyVisit"("userId", "date"); -- CreateIndex CREATE UNIQUE INDEX "Village_userId_key" ON "Village"("userId"); -- CreateIndex CREATE UNIQUE INDEX "VillageObject_villageId_x_y_key" ON "VillageObject"("villageId", "x", "y");