17void print_usage(
const char* program_name,
const std::vector<std::string>& supported_versions = {});
24void print_usage(
const char* program_name,
const std::vector<std::string>& supported_versions,
25 bool create_available,
bool drop_available);
32 bool include_rollback =
true);
60 std::function<MigrationResult<Migration>(
const std::string&,
const std::string&)>;
80int run_migration_tool(
int argc,
char* argv[],
const std::vector<std::string>& supported_versions,
82 std::optional<CreateMigrationGenerator> create_generator = std::nullopt,
83 std::optional<DropMigrationGenerator> drop_generator = std::nullopt);
Container for migration operations.
void print_migration(const Migration &migration)
Print a migration to the console with formatting.
void write_migration_to_file(const Migration &migration, const std::string &filename, bool include_rollback=true)
Write a migration to a SQL file with proper formatting.
CommandLineArgs parse_args(const std::vector< std::string > &args)
Parse command-line arguments for migration tools.
std::function< MigrationResult< Migration >(const std::string &)> CreateMigrationGenerator
Type alias for a function that generates a create table migration.
void print_usage(const char *program_name, const std::vector< std::string > &supported_versions={})
Print usage information for a migration command-line tool.
std::function< MigrationResult< Migration >(const std::string &, const std::string &)> MigrationGenerator
Type alias for a function that generates a migration between two versions.
int run_migration_tool(int argc, char *argv[], const std::vector< std::string > &supported_versions, MigrationGenerator migration_generator, std::optional< CreateMigrationGenerator > create_generator=std::nullopt, std::optional< DropMigrationGenerator > drop_generator=std::nullopt)
Run a complete migration command-line tool.
std::function< MigrationResult< Migration >(const std::string &)> DropMigrationGenerator
Type alias for a function that generates a drop table migration.
Command-line argument parsing result.
std::string error_message