public static function migrate_all(&$messages) { $migrations = static::get_migrations(); $messages = []; foreach (Migration::all() as $migration) { if (isset($migrations[$migration->hash])) { unset($migrations[$migration->hash]); } } $db = Database::instance(); foreach ($migrations as $key => $info) { $message = sprintf('Executing migration: \'%s\' with hash: %s', $info['class'], $key); $db->begin(); try { static::resolve($info['file'], $info['class'])->up(); if (Migration::create(['hash' => $key, 'name' => $info['class']])->saved()) { $messages[] = [$message]; } else { $messages[] = [$message, 'Failed to save migration to database']; } $db->commit(); } catch (Exception $e) { $db->rollback(); $messages[] = [$message, $e->getMessage()]; return $messages; } } return $messages; }
public function run() { $faker = Faker::create(); foreach (range(1, 10) as $index) { Migration::create([]); } }