예제 #1
0
 public function fire()
 {
     $clearAll = true;
     if ($this->input->getOption('config-only')) {
         $clearAll = false;
         Config::clearCache();
         $this->info('Config cache cleared.');
     }
     if ($this->input->getOption('meta-only')) {
         $clearAll = false;
         Db::clearMetadata();
         $this->info('Model metadata cleared.');
     }
     if ($this->input->getOption('locale-only')) {
         $clearAll = false;
         I18n::clearCache();
         $this->info('Locale cache cleared.');
     }
     if ($this->input->getOption('assets-only')) {
         $clearAll = false;
         View::clearAssetsCache();
         $this->info('Assets cache cleared.');
     }
     if ($clearAll) {
         Cache::flush();
         Config::clearCache();
         $this->info('Cache cleared.');
     }
     Events::fire('cache:after_clear', $this);
 }
예제 #2
0
 public function setUp()
 {
     parent::setUp();
     Db::clearMetadata();
     $this->di->set(Order::class, TestOrderModel::class);
     $this->di->set(OrderData::class, TestOrderDataModel::class);
     $this->getOrderModelInstance()->delete();
 }
예제 #3
0
 public function setUp()
 {
     parent::setUp();
     Db::clearMetadata();
     $this->di->set(User::class, TestUserModel::class);
     $this->di->set(UserProfile::class, TestUserProfileModel::class);
     $this->getUserModelInstance()->delete();
 }
예제 #4
0
 protected function revertMigration($filename)
 {
     $db = $this->db;
     $db->begin();
     $file = migrationPath($filename);
     try {
         $this->logAndShowInfo(sprintf('Start reverting migration "%s"', $filename));
         $migration = (include $file);
         if (isset($migration['down']) && is_callable($migration['down'])) {
             call_user_func($migration['down'], $db, $this);
         }
         $this->migrationExecuted($filename, false);
         $db->commit();
         Db::clearMetadata();
         $this->logAndShowInfo(sprintf('Finish reverting migration "%s"', $filename));
     } catch (Exception $e) {
         $db->rollback();
         Log::exception($e);
         $this->error(sprintf('Error when reverting migration "%s"', $filename));
         $this->error($e->getMessage());
     }
     // @codeCoverageIgnoreEnd
 }
예제 #5
0
 protected function runMigration()
 {
     $db = $this->db;
     $migrated = false;
     foreach (glob(migrationPath('*.php')) as $file) {
         $filename = basename($file);
         if ($this->migrationExecuted($filename)) {
             continue;
         }
         $migrated = true;
         $this->logAndShowInfo(sprintf('Start migration "%s"', $filename));
         $db->begin();
         try {
             $migration = (include $file);
             if (isset($migration['up']) && is_callable($migration['up'])) {
                 call_user_func($migration['up'], $db, $this);
             }
             $this->migrationExecuted($filename, true);
             $db->commit();
         } catch (Exception $e) {
             $db->rollback();
             Log::exception($e);
             $this->error(sprintf('Error in migration "%s"', $filename));
             $this->error($e->getMessage());
             return;
         }
         // @codeCoverageIgnoreEnd
         $this->logAndShowInfo(sprintf('Finish migration "%s"', $filename));
     }
     if ($migrated) {
         Db::clearMetadata();
     } else {
         $this->info('Nothing to be migrated.');
     }
     // @codeCoverageIgnoreEnd
 }