OO 只是通过代码封装 sql ,构建业务其实都是从构建 SQL 开始的,OO 或者代码所表达的更多的是程序运行时的状态,其数据最终还是会落入数据库中。并且数据库内容不断迭代的过程中,每个 migrate 的 sql 文件其实就是迭代过程静态化,生成快照了,这是 OO 代码所不天然具备的。SQL 的语义很直观,没有 OO 理论那么复杂,运行环境或者迭代过程都能用 SQL 语句描述完整,也不用关心 HTTP 与 客户端通信时构建 restful 需要考虑的细枝末节,just focus database(model) 就可以了。然而SQL的缺点就是可读性差。。。