TARAXA
migration_manager.hpp
Go to the documentation of this file.
1 #pragma once
3 
5 class Manager {
6  public:
7  explicit Manager(std::shared_ptr<DbStorage> db, const addr_t& node_addr = {});
8  template <typename T>
10  migrations_.push_back(std::make_shared<T>(db_));
11  }
12  void applyAll();
14 
15  private:
16  void applyMigration(std::shared_ptr<migration::Base> m);
17  std::shared_ptr<DbStorage> db_;
18  std::vector<std::shared_ptr<migration::Base>> migrations_;
20 };
21 } // namespace taraxa::storage::migration
Definition: FixedHash.h:35
Definition: migration_manager.hpp:5
void applyMigration(std::shared_ptr< migration::Base > m)
Definition: migration_manager.cpp:13
std::vector< std::shared_ptr< migration::Base > > migrations_
Definition: migration_manager.hpp:18
void applyTransactionPeriod()
Definition: migration_manager.cpp:36
std::shared_ptr< DbStorage > db_
Definition: migration_manager.hpp:17
Manager(std::shared_ptr< DbStorage > db, const addr_t &node_addr={})
Definition: migration_manager.cpp:8
void registerMigration()
Definition: migration_manager.hpp:9
void applyAll()
Definition: migration_manager.cpp:31
#define LOG_OBJECTS_DEFINE
Definition: logger.hpp:60
Definition: final_chain_header.hpp:6