我最近从 cakephp 2.2.5 切换到 2.3,自动截断表在 2.3 中不再工作。
我在 2.2.5 中所做的只是使用一些没有关系(即外键约束)的小表来测试框架,并且夹具导入和自动截断表完美地工作。
直到我确认我想使用 cakephp 并再次开始使用 CakeTestCase 开发我的应用程序。它停止工作。第一次导入后,数据仍在测试数据库中。所以第二次它表明它无法自动加载夹具,因为已经存在具有相同 ID 的数据。
所以我开始怀疑这主要是因为我当前表中的外键约束。
我在网上搜索并注意到很多人都有同样的问题,但还没有真正的解决方案。
唯一似乎是解决方案的方法在这里: http ://cakephp.lighthouseapp.com/projects/42648/tickets/2905-tests-fixture-table-ar-not-truncate-when-droptable-false
但是,我尝试打开 $dropTables = true,它没有用。而且我还尝试按照建议修改 CakeFixtureManager.php,但它也没有工作。
有谁知道如何解决这个问题?