是否有方便的方法从数据库中删除过时的表格列?我想知道是否有更多基于约定的解决方案,而不是登录PHPMyADMIN并手动删除列。
示例
安装SilverStripe-Fluent并添加额外的区域设置(例如nz-NZ)时,模块将拆分每个SiteTree记录以添加前缀为_nz-NZ
的额外翻译列。假设我们删除了额外的语言环境(nz-NZ),列将在/ dev / build之后保留在那里。
答案 0 :(得分:1)
版本2.4有一个很棒的模块DBPlumber具有此功能,但我猜测你使用的是更高版本!如果升级为V3,那将会很棒。
模块artefact cleaner将是理想的。它从github页面的描述是......
查找并选择删除SilverStripe中的废弃表格和字段 数据库中。
在开发SilverStripe应用程序期间,通常会这样做 删除数据对象类或从数据对象中删除字段。这个 在数据库中留下过时的列和表。因为这些 列或表可能包含您仍然需要的数据 SilverStripe框架不会自动删除它们。这个任务 以SQL DROP和SQL的形式显示过时的列和表 ALTER命令。它还提供了删除它们的方法。如果你这样做, 没有撤消,所以总是先备份。