【发布时间】:2012-03-15 14:33:35
【问题描述】:
我正在使用 RedBean ORM。为了创建模式,我使用了插入数据的标准 redbean 方法,以便 Redbean 可以自动适应模式以满足我的需要。我把它放在一个脚本中,当我需要初始化我的数据库时,它基本上可以用来构建模式。
问题在于 RedBean 在每个表中保留一到 2 行(我最初插入这些表以获取 redbean 以构建模式)。
如果它是一个普通数据库,要删除所有行,我只需删除架构并重建它,但在这种情况下这是不可能的,因为初始行仍然存在。
不幸的是,那里没有太多的 Redbean Q/A。任何人都知道我将如何使用 Redbean 界面来做到这一点?
我试过了
$listOfTables = R::$writer->getTables();
foreach($listOfTables as $table)
{
R::wipe($table);
}
当然这不起作用。 (它不会以正确的顺序截断表,所以我得到一个关于使用这个键作为外部链接的另一个表的错误。它只是按 ABC 顺序迭代)
Fatal error: Uncaught [42000] - SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a table referenced in a foreign key constraint (`redbeandb`.`research`, CONSTRAINT `research_ibfk_1` FOREIGN KEY (`ownEducationHistory_id`) REFERENCES `redbeandb`.`educationhistory` (`id`)) thrown in C:\Users\Rod\nginx-1.0.12\html\rb.php on line 105
如果有人有(redbean api)解决方案,将不胜感激。希望这个问题有助于在 Stackoverflow 上建立更多 RedBean Q/A。
【问题讨论】:
-
总是有
R::nuke(),但我认为这也会毁掉你所有的桌子。我不知道你是否可以擦除,除非你删除外键,我不知道你是否可以简单地做到这一点。