added session test with has one relation

This commit is contained in:
Sascha Kühl
2024-04-15 15:54:37 +02:00
parent fb57545cce
commit 4199c5029c
5 changed files with 69 additions and 21 deletions
+5 -5
View File
@@ -48,8 +48,8 @@ public:
template<class ContainerType>
void on_has_many_to_many(const char * /*id*/, ContainerType &/*c*/, const char *join_column, const char *inverse_join_column, const utils::foreign_attributes &/*attr*/)
{
join_columns_.join_column = inverse_join_column;
join_columns_.inverse_join_column = join_column;
join_columns_.join_column = join_column;
join_columns_.inverse_join_column = inverse_join_column;
}
template<class ContainerType>
void on_has_many_to_many(const char * /*id*/, ContainerType &/*c*/, const utils::foreign_attributes &/*attr*/) {}
@@ -209,7 +209,7 @@ public:
}
append_join({table_info_stack_.top().name, table_info_stack_.top().prototype.primary_key()->name()}, {id, join_column});
append_join({info->name, pk->name()}, {id, inverse_join_column});
append_join({id, inverse_join_column}, {info->name, pk->name()});
}
template<class ContainerType>
@@ -234,8 +234,8 @@ public:
const auto join_columns = join_column_collector_.collect<typename ContainerType::value_type::value_type>();
append_join({table_info_stack_.top().name, table_info_stack_.top().prototype.primary_key()->name()}, {id, join_columns.join_column});
append_join({info->name, pk->name()}, {id, join_columns.inverse_join_column});
append_join({table_info_stack_.top().name, table_info_stack_.top().prototype.primary_key()->name()}, {id, join_columns.inverse_join_column});
append_join({id, join_columns.join_column}, {info->name, pk->name()});
}
private:
+1 -1
View File
@@ -150,7 +150,7 @@ entity<Type> session::insert(Type *obj)
}
c->query(*schema_)
.insert()
.into(info->name, column_generator::generate<Type>(*schema_))
.into(info->name, column_generator::generate<Type>(*schema_, true))
.values(*obj)
.execute();