relx 0.1.0
A Modern C++23 Type-Safe SQL Query Builder
Loading...
Searching...
No Matches
diff.hpp File Reference
#include "../schema/check_constraint.hpp"
#include "../schema/column.hpp"
#include "../schema/foreign_key.hpp"
#include "../schema/index.hpp"
#include "../schema/primary_key.hpp"
#include "../schema/table.hpp"
#include "../schema/unique_constraint.hpp"
#include "core.hpp"
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <boost/pfr.hpp>

Go to the source code of this file.

Classes

struct  relx::migrations::MigrationOptions
 Options for controlling migration generation. More...
 
struct  relx::migrations::ColumnMetadata
 Metadata about a column extracted from PFR analysis. More...
 
struct  relx::migrations::ConstraintMetadata
 Metadata about a constraint extracted from PFR analysis. More...
 
struct  relx::migrations::TableMetadata
 Complete metadata about a table. More...
 
class  relx::migrations::AddColumnOperation< ColumnMetadata >
 Specialized AddColumnOperation for ColumnMetadata. More...
 
class  relx::migrations::DropColumnOperation< ColumnMetadata >
 Specialized DropColumnOperation for ColumnMetadata. More...
 

Namespaces

namespace  relx
 relx database connection
 
namespace  relx::migrations
 

Functions

template<schema::TableConcept Table>
MigrationResult< TableMetadatarelx::migrations::extract_table_metadata (const Table &table_instance)
 Extract table metadata using Boost.PFR.
 
MigrationResult< Migrationrelx::migrations::diff_tables (const TableMetadata &old_metadata, const TableMetadata &new_metadata, const MigrationOptions &options={})
 Generate migration from table metadata differences.
 
template<schema::TableConcept OldTable, schema::TableConcept NewTable>
MigrationResult< Migrationrelx::migrations::generate_migration (const OldTable &old_table, const NewTable &new_table, const MigrationOptions &options={})
 Generate migration from old table to new table.
 
template<schema::TableConcept Table>
MigrationResult< Migrationrelx::migrations::generate_create_table_migration (const Table &table)
 Generate migration to create a new table.
 
template<schema::TableConcept Table>
MigrationResult< Migrationrelx::migrations::generate_drop_table_migration (const Table &table)
 Generate migration to drop a table.