fix: only insert primary keys from the first descendant childs
This commit is contained in:
parent
469294502e
commit
df44296c04
|
@ -76,7 +76,8 @@ bool DbExpression::can_field_be_generated(const FT & field_type)
|
||||||
else
|
else
|
||||||
if( output_type == MORM_OUTPUT_TYPE_DB_PRIMARY_KEY ||
|
if( output_type == MORM_OUTPUT_TYPE_DB_PRIMARY_KEY ||
|
||||||
output_type == MORM_OUTPUT_TYPE_JOIN_TABLES ||
|
output_type == MORM_OUTPUT_TYPE_JOIN_TABLES ||
|
||||||
output_type == MORM_OUTPUT_TYPE_DB_INSERT_PRIMARY_KEY )
|
output_type == MORM_OUTPUT_TYPE_DB_INSERT_PRIMARY_KEY ||
|
||||||
|
output_type == MORM_OUTPUT_TYPE_DB_UPDATE_PRIMARY_KEY )
|
||||||
{
|
{
|
||||||
return field_type.is_primary_key();
|
return field_type.is_primary_key();
|
||||||
}
|
}
|
||||||
|
@ -106,7 +107,8 @@ void DbExpression::field_before()
|
||||||
(*out_stream) << " AND ";
|
(*out_stream) << " AND ";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if( output_type == MORM_OUTPUT_TYPE_DB_INSERT_PRIMARY_KEY )
|
if( output_type == MORM_OUTPUT_TYPE_DB_INSERT_PRIMARY_KEY ||
|
||||||
|
output_type == MORM_OUTPUT_TYPE_DB_UPDATE_PRIMARY_KEY )
|
||||||
{
|
{
|
||||||
(*out_stream) << ", ";
|
(*out_stream) << ", ";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1458,7 +1458,9 @@ void Model::field_model_generate_db_sql(const wchar_t * db_field_name, Model & f
|
||||||
if( db_expression->get_output_type() != MORM_OUTPUT_TYPE_JOIN_TABLES &&
|
if( db_expression->get_output_type() != MORM_OUTPUT_TYPE_JOIN_TABLES &&
|
||||||
db_expression->get_output_type() != MORM_OUTPUT_TYPE_DB_PRIMARY_KEY &&
|
db_expression->get_output_type() != MORM_OUTPUT_TYPE_DB_PRIMARY_KEY &&
|
||||||
db_expression->get_output_type() != MORM_OUTPUT_TYPE_DB_INSERT &&
|
db_expression->get_output_type() != MORM_OUTPUT_TYPE_DB_INSERT &&
|
||||||
db_expression->get_output_type() != MORM_OUTPUT_TYPE_DB_UPDATE )
|
db_expression->get_output_type() != MORM_OUTPUT_TYPE_DB_UPDATE &&
|
||||||
|
db_expression->get_output_type() != MORM_OUTPUT_TYPE_DB_INSERT_PRIMARY_KEY &&
|
||||||
|
db_expression->get_output_type() != MORM_OUTPUT_TYPE_DB_UPDATE_PRIMARY_KEY )
|
||||||
{
|
{
|
||||||
field_model.fields();
|
field_model.fields();
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,10 +76,12 @@
|
||||||
#define MORM_OUTPUT_TYPE_DB_UPDATE 3
|
#define MORM_OUTPUT_TYPE_DB_UPDATE 3
|
||||||
|
|
||||||
// change to something like MORM_OUTPUT_TYPE_DB_WHERE_PRIMARY_KEY
|
// change to something like MORM_OUTPUT_TYPE_DB_WHERE_PRIMARY_KEY
|
||||||
|
|
||||||
|
// put a primary key
|
||||||
#define MORM_OUTPUT_TYPE_DB_PRIMARY_KEY 4
|
#define MORM_OUTPUT_TYPE_DB_PRIMARY_KEY 4
|
||||||
|
|
||||||
#define MORM_OUTPUT_TYPE_DB_INSERT_PRIMARY_KEY 5
|
#define MORM_OUTPUT_TYPE_DB_INSERT_PRIMARY_KEY 5
|
||||||
#define MORM_OUTPUT_TYPE_DB_UPDATE_PRIMARY_KEY 5
|
#define MORM_OUTPUT_TYPE_DB_UPDATE_PRIMARY_KEY 6
|
||||||
|
|
||||||
|
|
||||||
//#define MORM_OUTPUT_TYPE_WHERE_CUSTOM 7
|
//#define MORM_OUTPUT_TYPE_WHERE_CUSTOM 7
|
||||||
|
|
Loading…
Reference in New Issue