CTE = common table expressions 类似于 AR 的 scope
http://www.craigkerstiens.com/2013/11/18/best-postgres-feature-youre-not-using/ http://ruby-china.org/topics/9333?page=1#reply14
设想:在这个基础上做个偷懒的 ORM 的话,大概可以比 ActiveRecord 快不少...
rails 是和数据库解耦合,如果代码写在数据库里面,调试和查看以及代码管控都不方便。
#1 楼 @linjunhalida 只是换了种写 sql 的方式吧。我觉得目前唯一的问题是,这将数据库限制为 pg 了
已经有人在搞了 http://reefpoints.dockyard.com/2013/09/06/postgres_ext-adds-rank-and-common-table-expressions.html https://github.com/dockyard/postgres_ext/blob/master/docs/querying.md
为啥要 ORM ...
#4 楼 @bhuztez 因为要把数据库的数据和语言内的对象互相转换...
#5 楼 @luikore 我觉得问题是在于把数据和代码搅在了一起
#6 楼 @bhuztez 这没什么问题吧,编译器都是这么搅的
#1 楼 @linjunhalida 只是把 DSL 翻译成 CTE 和还是其他语句的区别而已。另外管控会更方便
#2 楼 @googya 限制為 pg 沒什麼不好吧,反正想不到不用 PG 而用 MySQL 的原因。
#7 楼 @luikore
我觉得既然只用 pg 了,直接写 SQL 就好了。剩下的问题用不了几行代码就能解决的。
不到 300 行代码,就足够解决很大一部分问题了 (其实还是有点过度设计和太多 magic 了,肯定还有不少可以删的代码)
https://raw.githubusercontent.com/bhuztez/warm/master/warm.py