在没有 Ecto 的情况下使用 Phoenix 框架

Using Phoenix Framework without Ecto

我正在开发一个带有由 Phoenix 支持的 Web 界面的应用程序,我正在探索当前 SQLite(及其 Ecto 驱动程序)的替代存储方法(是的,我听说过 PGSQL,不,我是不愿意用。)

我想使用 LevelDB 和 H2LevelDB,它们在 Github

上有可用的 Erlang 驱动程序

然而,在编译时我意识到 Phoenix 似乎非常依赖 Ecto,即使在负责渲染 eex 模板的模块中也是如此。我觉得这有点可怕,有点奇怪,同时也有点烦人。 那么,从预先生成的文件中盲目清除所有对 Ecto 的引用是否安全,或者我应该为我的网站切换到其他内容 UI?

Phoenix 不以任何方式依赖 ecto。一个可以在没有另一个的情况下成功使用。集成是通过几个协议完成的,这些协议在 phoenix_ecto 包中实现。

默认的 phoenix 生成器将使用 ecto 创建一个应用程序 - 原因是给用户一些东西 "with batteries included"。您可以通过将 --no-ecto 标志传递给 mix phoenix.new 生成器来轻松删除它。