field() methods now takes FT field parameters (instead of booleans)
field method don't make a test for 'long format' now
fixes in escaping table names in Finder
added basic support for making migrations
has_primary_key flag in Model (I am not sure if this will be changed)
merge winix_fullmorm branch:
- changed the way home table names are set
- field() methods now takes FT field parameters (instead of booleans)
- field method don't make a test for 'long format' now
- fixes in escaping table names in Finder
- added basic support for making migrations
- has_primary_key flag in Model (I am not sure if this will be changed)
Now we know whether the primary key is defined or not
and we do not allow to make update/remove if the key is not defined.
And when doing insert/update we can put NULL if child models don't have
the primary key set (fields with has_foreign_key set to true).
Now in after_select() we should also set has_primary_key_set flag
or just call get_last_sequence_for_primary_key instead of get_last_sequence.
fixed: added prefix +00 when serializing PT::Date to PostgreSQL (time zone)
(for a column with a time zone there was a wrong value saved)
FT class has following types:
enum FieldType
{
default_type = 0,
primary_key = 1,
foreign_key = 2,
foreign_key_in_child = 4,
no_insertable = 8,
no_updatable = 16,
no_fetchable = 32, /* not supported yet */
};
an object of FT class are now used in Model::field() methods instead of insertable/updatable/is_primary_key/... boolean flags
changed the semantic of has_foreign_key (which was a bool) flag in child Models:
now on Models and list/vector of Models you should use either FT::foreign_key or FT::foreign_key_in_child
1. FT::foreign_key means that field with this flag is a foreign key and is pointing to the child object
(it was the case when has_foreign_key was equal to true beforehand)
2. FT::foreign_key_in child means that the foreign key is in the child object and is pointing to the parent object
methods before_field_value_string() and after_field_value_string() moved
from DbExpression and JsonExpression to BaseExpression and made virtual
and now methods before_field_value(const std::wstring &) and after_field_value(const std::wstring &)
(and the rest of them with string arguments) can be removed from DbExpression, PostgreSqlExpression and JsonExpression
now method put_field_name() is not making a test whether field_name is in long format
and only puts the field name (without table name),
this allows us to have a dot in the column name (field_name)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
merge winix_fullmorm branch:
FT class has following types: enum FieldType { default_type = 0, primary_key = 1, foreign_key = 2, foreign_key_in_child = 4, no_insertable = 8, no_updatable = 16, no_fetchable = 32, /* not supported yet */ }; an object of FT class are now used in Model::field() methods instead of insertable/updatable/is_primary_key/... boolean flags changed the semantic of has_foreign_key (which was a bool) flag in child Models: now on Models and list/vector of Models you should use either FT::foreign_key or FT::foreign_key_in_child 1. FT::foreign_key means that field with this flag is a foreign key and is pointing to the child object (it was the case when has_foreign_key was equal to true beforehand) 2. FT::foreign_key_in child means that the foreign key is in the child object and is pointing to the parent object