使用 Yii2 PHP 在循环中以任意顺序截断表。如何避免FK错误?

问题描述 投票:0回答:1

我有大约 50-60 个表,它们以某种方式连接并具有外键。我已经找到了应该按什么顺序截断它们以避免 FK 和 PK 密钥出现任何错误。

我想使用 Yii2 框架在 PHP 文件中调用所有截断命令。

一切都很好,但是新的链接和表格可能会出现在这个模式中,并且需要再次探索所有这些链接和关系规则并对表格进行排序以避免错误。

并且我不想在添加或更改任何表格后探索 50 多个表格

我有一些想法,但不知道是否可能。 想法:

  1. 创建一个表名数组
  2. 遍历这个数组并尝试截断当前表
  3. 重复直到所有表都被截断

请注意,我想知道如何对两个数据库执行此操作:MySQL 和 PostgreSQL 因为在生产中可以使用它们中的任何一个......

希望我能解释我的问题,这样你看起来就很清楚了

我尝试在网上搜索但没有成功

mysql postgresql yii2 truncate
1个回答
0
投票

对于 PostgreSQL,解决方案是在单个语句中截断所有表:

TRUNCATE tab1, tab2, tab3, ...;
© www.soinside.com 2019 - 2024. All rights reserved.