laravel 4で雄弁または流暢を使用して、データベース内のすべてのテーブルを切り捨てる方法はありますか? テーブル名を指定したくありません。すべてのテーブルを切り捨てたいだけです。つまり、すべてのテーブルを空にします。
41013 次
7 に答える
3
laravel 5 では、migrate:fresh はデータベース内のすべてのテーブルを削除します (テーブルが移行に関連していない場合でも)
于 2019-03-06T13:06:23.293 に答える
0
これは、データベース内のすべてのテーブル (テーブルの例外を含む) を切り捨てる方法です。私にとってはうまくいきます。
// set tables don't want to trucate here
$excepts = ['migrations'];
$tables = DB::connection()
->getPdo()
->query("SHOW FULL TABLES")
->fetchAll();
$tableNames = [];
$keys = array_keys($tables[0]);
$keyName = $keys[0];
$keyType = $keys[1];
foreach ($tableNames as $name) {
//if you don't want to truncate migrations
if (in_array($name[$keyName], $excepts))
continue;
// truncate tables only
if('BASE TABLE' !== $name[$keyType])
continue;
\DB::table($name)->truncate();
}
于 2014-07-21T01:10:48.190 に答える