getDatabase()->getAllTables($tableName); $version = date('YmdHis'); $file = $migrationPath . $version . '_'. $tableName . '.php'; foreach ($tables as $table) { if ($table->getName() == $tableName) { $content = $migrateGenerator->getMigrationContent($table); $noPrefix = str_replace(Utils::tablePrefix(), '', $tableName); $_content = str_replace($tableName, $noPrefix, $content, $count); file_put_contents($file, $count == 1 ? $_content : $content); if (!file_exists($file)) { throw new FailedException('migration generate failed'); } $model = new class extends \think\Model { protected $name = 'migrations'; }; $model->insert([ 'version' => $version, 'migration_name' => ucfirst(Str::camel($tableName)), 'start_time' => date('Y-m-d H:i:s'), 'end_time' => date('Y-m-d H:i:s') ]); break; } } return $file; } }