当卸载模块时,为什么要从 .install 文件中没有Object.keys
功能的数据库中删除所有表。
此外,为什么要创建没有module_uninstall()
函数的表
仅 .install 文件代码:
module_install()
此外,如果 .install 文件中不存在条件,请创建表。
答案 0 :(得分:0)
这是它的行为方式,在安装或卸载模块时,将在数据库中创建或从数据库中创建hook_schema中定义的表,如果要执行其他操作,则应使用hook_install()或hook_uninstall()挂钩。
仅假设卸载模块时应删除数据库架构,安装后再返回数据库架构,如果您考虑一下,这是很合理的。
“此钩子声明的表将在以下情况下自动创建 该模块已安装,并且在卸载模块时已卸下。 这发生在调用hook_install()之前和之后 hook_uninstall()分别被调用。”