Mojopollo\Schema\Commands\MakeMigrationJsonCommand::createUndoFile PHP Method

createUndoFile() protected method

Creates the undo file
protected createUndoFile ( ) : void
return void
    protected function createUndoFile()
    {
        // The generated files
        $generatedFiles = [];
        // Scan folders for generated files
        foreach (['app', 'database/migrations'] as $folder) {
            // For every file inside this folder
            foreach ($this->filesystem->files($folder) as $file) {
                // If lastModified time of this file is greater or equal to $this->startTime
                if ($this->filesystem->lastModified($file) >= $this->startTime) {
                    // Add this file to our generated files array
                    $generatedFiles[] = $file;
                }
            }
        }
        // If we do not have any generated files
        if (empty($generatedFiles)) {
            // Show error message and end method execution
            $this->error('No generated files created');
            return;
        }
        // Output generated files to console
        $this->info("The following files have been created:");
        foreach ($generatedFiles as $generatedFile) {
            $this->info("  {$generatedFile}");
        }
        // Save $generatedFiles to undo file if directory is writeable
        if ($this->filesystem->isWritable($this->filePathDirectory)) {
            // Write undo json file
            $this->filesystem->put($this->undoFilePath, json_encode($generatedFiles, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
        } else {
            // Show error that file could not be created
            $this->error('Could not create undo file, not enough permissions perhaps?: ' . $this->undoFilePath);
        }
    }