阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!

雖然 remix 預設 sqlite 是鼓勵快速開發

但我覺得 還是需要管理面板 不然做客服會很麻煩

嘗試把 driver 改成 supabase

只要在 table 看到 session 資料就算連線成功


避免混淆 直接把 prisma/dev.sqlite 檔案刪掉

另外 prisma/migration 裡面會有 create session 的 sql 檔案

這 sql 檔案格式是給 sqlite 的 不能用在 postgresql 所以也給刪掉 比較清楚


然後把 prisma/schema.prisma 內容修改

datasource db {
  // provider = "sqlite"
  // url      = "file:dev.sqlite"
  provider  = "postgresql"
  url       = env("DATABASE_URL")
  directUrl = env("DIRECT_URL")
}

我本以為 database url 就夠 但發現還需要 direct url 不太知道原理

總之在 supabase 面板點 connect -> ORMs 底下就有資訊

然後建立 .env 檔 把兩個值放進去


跑 npm run prisma generate 產出必要的 js client 檔案

然後跑 npm run prisma migrate dev 產出 migration 檔案、把資料庫整個刷新

其實 postgresql 版本的 sql 跟 sqlite 的版本只差一點點而已

列出來會像這樣 sqlite vs postgresql

-- CreateTable
CREATE TABLE "Session" (
    "id" TEXT NOT NULL PRIMARY KEY,
    "shop" TEXT NOT NULL,
    "state" TEXT NOT NULL,
    "isOnline" BOOLEAN NOT NULL DEFAULT false,
    "scope" TEXT,
    "expires" DATETIME,
    "accessToken" TEXT NOT NULL,
    "userId" BIGINT,
    "firstName" TEXT,
    "lastName" TEXT,
    "email" TEXT,
    "accountOwner" BOOLEAN NOT NULL DEFAULT false,
    "locale" TEXT,
    "collaborator" BOOLEAN DEFAULT false,
    "emailVerified" BOOLEAN DEFAULT false
);
-- CreateTable
CREATE TABLE "Session" (
    "id" TEXT NOT NULL,
    "shop" TEXT NOT NULL,
    "state" TEXT NOT NULL,
    "isOnline" BOOLEAN NOT NULL DEFAULT false,
    "scope" TEXT,
    "expires" TIMESTAMP(3),
    "accessToken" TEXT NOT NULL,
    "userId" BIGINT,
    "firstName" TEXT,
    "lastName" TEXT,
    "email" TEXT,
    "accountOwner" BOOLEAN NOT NULL DEFAULT false,
    "locale" TEXT,
    "collaborator" BOOLEAN DEFAULT false,
    "emailVerified" BOOLEAN DEFAULT false,

    CONSTRAINT "Session_pkey" PRIMARY KEY ("id")
);

然後重新跑一次 npm run dev 重新打開商店後台

會在 supabase 看到 Session 資料表裡面有值囉!

成功把已授權商店的 token 狀態紀錄 從 sqlite 轉移到 supabase 囉!


我留意到還有多了一個檔案 prisma/migrations/migration_lock.toml

不知道功能是什麼


共有 0 則留言


👉 身份:資深全端工程師、指導過無數人半路出家轉職 👉 使命:打造 CodeLove 成為優質新手村,讓非本科也有地方自學&討論

阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!