Blitz.js で、
% prisma migrate dev
をしたときに、生成される migration.sql を比較してみました。
以下のファイルを編集して mysql, postgres, sqlite を切り替えています。
db/schema.prisma
.env.local
こうしてみると、微妙に違いがありましょね。同じ User デーブルなのに。
Rails のマイグレーションのように共通にできないのでしょうか?
mysql
-- CreateTable
CREATE TABLE `User` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updatedAt` DATETIME(3) NOT NULL,
`name` VARCHAR(191),
`email` VARCHAR(191) NOT NULL,
`hashedPassword` VARCHAR(191),
`role` VARCHAR(191) NOT NULL DEFAULT 'USER',
UNIQUE INDEX `User.email_unique`(`email`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
postgres
-- CreateTable
CREATE TABLE "User" (
"id" SERIAL NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"name" TEXT,
"email" TEXT NOT NULL,
"hashedPassword" TEXT,
"role" TEXT NOT NULL DEFAULT E'USER',
PRIMARY KEY ("id")
);
sqlite
-- CreateTable
CREATE TABLE "User" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
"name" TEXT,
"email" TEXT NOT NULL,
"hashedPassword" TEXT,
"role" TEXT NOT NULL DEFAULT 'USER'
);


コメント