尤川豪   ·  5年前
445 貼文  ·  275 留言

前端 single page application 搭配後端 RDBMS(MySQL)的小筆記

前端 SPA,或許資料庫用 NoSQL 會比較好?我不知道

這邊用 MySQL 的話,假設 SPA 可以增減編修一串「商品」資料,CRUD 相關操作的設計是這樣:


CRUD 相關屬性

  • id: INT,

  • is_modified: BOOL

  • is_deleted: BOOL

    如果這筆資料,已經被存進資料庫,那就會有 id,就這樣表示

  • id: null

  • is_modified: undefined

  • is_deleted: undefined

    如果還沒存進資料庫,id 就用 null,且沒有 is_modified 與 is_deleted 屬性,用不到

  • id 有值的話,更新、刪除時就改動相關 bool 值

  • id 沒值的話,更新時不用改動相關 bool 值。刪除時也是,直接刪掉資料即可

後端相關

  • 使用 id, is_modified, is_deleted 來做 CRUD 的判斷
  • 後端以 id 為中心去操作

前端相關

  • 每筆資料還有一個 uuid 屬性,前端 CRUD 以 uuid 為中心去操作

database schema

mysql schema 長這樣

Schema::create('products', function (Blueprint $t) {
    $t->increments('id');
    // other columns
    $t->string('uuid');
    $t->timestamps();
});
  分享   共 1,391 次點閱
共有 1 則留言
尤川豪   ·  5年前
445 貼文  ·  275 留言

小反省:uuid 好像根本不用存進資料庫。每次吐資料給 SPA 時,自動產生一筆 uuid 方便前端操作即可?

 
您的留言
尤川豪
445 貼文  ·  275 留言

Devs.tw 是讓工程師寫筆記、網誌的平台。隨手紀錄、寫作,方便日後搜尋!

歡迎您一起加入寫作與分享的行列!

查看所有文章