13 #ifndef __UT_ORMOPERATION_H__
14 #define __UT_ORMOPERATION_H__
28 class UT_ORMMigrationChangeNotifier;
40 virtual void databaseForwards(
60 setTableName(table_name);
73 myTableName = table_name;
78 myFields.emplace_back(std::move(field));
86 unsigned props = UT_ORMColumn::Properties::Empty,
93 foreign_table, foreign_table, foreign_col, ondelete);
94 exint i = myFields.emplace_back(std::move(field));
102 exint i = myFields.emplace_back(name, type,
props);
110 exint i = myFields.emplace_back(
111 name, type,
props | UT_ORMColumn::Properties::AutoIncrement);
126 setModelName(model_name);
131 myModelName = model_name;
152 : myOldModelName(old_model), myNewModelName(new_model)
160 myOldModelName = old_model;
161 myNewModelName = new_model;
186 setField(model_name, std::move(field));
193 myModelName = model_name;
194 myField = std::move(field);
218 setField(model_name, field_name);
225 myModelName = model_name;
226 myFieldName = field_name;
250 setField(model_name, from_name, to_name);
258 myModelName = model_name;
259 myFromName = from_name;
284 setConstraint(model_name, std::move(constraint));
291 myModelName = model_name;
292 myConstraint = std::move(constraint);
307 #endif // __UT_ORMOPERATION_H__
const UT_StringHolder & oldModelName() const
void setField(const UT_StringHolder &model_name, const UT_StringHolder &from_name, const UT_StringHolder &to_name)
UT_ORMAddFieldOperation(const UT_StringHolder &model_name, UT_ORMModelStateField &&field)
const UT_StringHolder & newModelName() const
void setAsForeignKey(const UT_StringHolder &foreign_model, const UT_StringHolder &table_name, const UT_StringHolder &col, UT_ORMColumn::OnDelete ondelete=UT_ORMColumn::OnDelete::Cascade, const UT_StringHolder &related_name=UT_StringHolder::theEmptyString)
void setField(const UT_StringHolder &model_name, const UT_StringHolder &field_name)
void setField(const UT_StringHolder &model_name, UT_ORMModelStateField &&field)
virtual void databaseForwards(UT_IORMSchemaEditor &editor, const UT_ORMMigrationState &from_state, const UT_ORMMigrationState &to_state, UT_ErrorCode &ec)=0
virtual void stateForwards(UT_ORMMigrationState &state, UT_ErrorCode &ec)=0
void setModel(const UT_StringHolder &old_model, const UT_StringHolder &new_model)
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
GLint GLint GLsizei GLint GLenum GLenum type
UT_ORMRemoveFieldOperation(const UT_StringHolder &model_name, const UT_StringHolder &field_name)
UT_ORMCreateTableOperation & addField(UT_ORMModelStateField &&field)
UT_ORMColumn & addField(const UT_StringHolder &name, UT_ORMColumn::Type type, UT_ORMColumn::Properties props=UT_ORMColumn::Properties::Empty)
UT_ORMCreateTableOperation & setTableName(const UT_StringHolder &table_name)
UT_ORMColumn & addAutoField(const UT_StringHolder &name, UT_ORMColumn::Type type, UT_ORMColumn::Properties props=UT_ORMColumn::Properties::Empty)
GLuint const GLchar * name
std::error_code UT_ErrorCode
virtual const UT_StringHolder & name() const =0
LeafData & operator=(const LeafData &)=delete
UT_ORMDropTableOperation(const UT_StringHolder &model_name)
UT_ORMCreateTableOperation(const UT_StringHolder &table_name)
void setConstraint(const UT_StringHolder &model_name, UT_UniquePtr< UT_IORMConstraint > constraint)
Class to store JSON objects as C++ objects.
UT_ORMRenameFieldOperation(const UT_StringHolder &model_name, const UT_StringHolder &from_name, const UT_StringHolder &to_name)
UT_ORMColumn & addForeignField(const UT_StringHolder &name, UT_ORMColumn::Type type, const UT_StringHolder &foreign_table, const UT_StringHolder &foreign_col, unsigned props=UT_ORMColumn::Properties::Empty, UT_ORMColumn::OnDelete ondelete=UT_ORMColumn::OnDelete::Cascade)
UT_ORMRenameModelOperation(const UT_StringHolder &old_model, const UT_StringHolder &new_model)
void setModelName(const UT_StringHolder &model_name)
UT_ORMAddConstraintOperation(const UT_StringHolder &model_name, UT_UniquePtr< UT_IORMConstraint > &&constraint)
GLenum GLuint GLsizei const GLenum * props