php - 在 CakePHP 框架内自动创建数据库表

标签 php sql mysql cakephp model

我正在尝试使用 CakePHP 编写一个网络应用程序,并且像大多数网络应用程序一样,我想创建一个安装程序来检测数据库是否已初始化,如果没有,则执行安装过程。

这个过程将是完全自动化的(它假设数据库本身已经存在,并且它通过匿名帐户被授予完全管理访问权限,没有密码......这是一个沙盒环境,所以不用担心安全问题),因此它需要能够检测(无论请求如何!)数据库表是否已创建和初始化,如果没有,则透明地执行该初始化,然后仍然满足用户的原始请求。

我考虑过编写一种 Bootstrap Controller ,通过它路由所有请求,并运行单个 SQL 查询来确定数据库表是否存在,但这看起来很麻烦(并且 Controller 需要一个相应的模型,这不需要在这里就是这种情况)。另一种可能性是重写 AppModel 并在其中放置相同的测试,但我不确定该怎么做,因为没有任何相关文档。

提前致谢!

tl;dr version:J2EE servlet 的“init()”方法的 CakePHP 等效项(或者如何为 CakePHP 编写等效项)是什么?

最佳答案

检查 AppError 类 - 可能存在缺少数据库表错误,您可以从那里覆盖并运行创建数据库表 SQL?

关于php - 在 CakePHP 框架内自动创建数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1653406/

相关文章:

php - Yii 查询缓存具有无限过期时间

php - 根据php数组生成php源码

php - 存储替代名称的最佳位置?

sql - 在Postgresql中,对2列添加唯一约束,不等于特定值

mysql - 对 SQL 计算别名结果进行舍入

mysql - 如何从 Lambda 函数连接到 RDS 数据库?

javascript - 从 HTML 表到 mysql 数据库

sql - 将 VALUE 关键字与文档数据库中的其他 SELECT 元素组合

mysql - 返回按同一列上的总匹配项排序的结果

mysql - 如何限制列表中的项目,但仍然在 MYSQL 中显示完整的组?