【发布时间】:2009-10-31 04:26:46
【问题描述】:
我正在尝试使用 CakePHP 编写一个 webapp,并且像大多数 webapps 一样,我想创建一个安装程序来检测数据库是否已初始化,如果没有,则执行安装过程。
这个过程将是完全自动化的(它假设数据库本身已经存在,并且它被授予通过匿名帐户没有密码的完全管理访问权限......这是针对沙盒环境,所以不用担心安全性),所以它需要能够检测(不管请求如何!)数据库表是否已创建和初始化,如果没有,则透明地执行初始化,然后仍然为用户的原始请求提供服务。
我考虑编写一种引导所有请求的控制器,通过它来路由所有请求,并运行单个 SQL 查询来确定数据库表是否存在,但这似乎很麻烦(并且控制器需要相应的模型,不需要就是这里的情况)。另一种可能性是覆盖 AppModel 并在其中放置相同的测试,但我不确定如何执行此操作,因为没有任何文档。
提前致谢!
tl;dr 版本:J2EE servlet 的“init()”方法的 CakePHP 等价物(或如何为 CakePHP 编写等价物)是什么?
【问题讨论】:
标签: php sql mysql cakephp model