<FromGitter>
<Blacksmoke16> im actually thinking it would be better to keep properties nilable by default?
<FromGitter>
<Blacksmoke16> but have getter/setter mask that fact, or maybe catch it in the initializer
<FromGitter>
<Blacksmoke16> mainly so you could hydrate only some properties i.e. specific fields on select, or if working with APIs you might not want to read properties from the JSON body, leaving them nil but would be set at some point shortly after
<FromGitter>
<sclee15> Does Granite supports the virtual field?
<FromGitter>
<Blacksmoke16> i.e. a property that isnt a column?
<FromGitter>
<Blacksmoke16> yes, just use `property` vs `column`
<FromGitter>
<sclee15> Oh that is good to know. thank you.
<FromGitter>
<sclee15> @Blacksmoke16
<FromGitter>
<eliasjpr> @Blacksmoke16 devs should be able to define what can be nil and what not
<FromGitter>
<eliasjpr> It might cause side effects if we default to nil
<FromGitter>
<sclee15> can a property in a granite model serialized automatically?
<FromGitter>
<eliasjpr> Serializer to Json, yaml yes
<FromGitter>
<sclee15> oh..
<FromGitter>
<sclee15> than I can use a property as a virtual column.
<FromGitter>
<sclee15> I tried a property in a granite model, and I think set_attributes seems not aware a property that is manually created.
<FromGitter>
<Blacksmoke16> correct
<FromGitter>
<Blacksmoke16> that only sets columns
<FromGitter>
<Blacksmoke16> @eliasjpr i more so mean keep it how it works now, where the properties are nilable internally, but the getters/setters we define prevent it
<FromGitter>
<Blacksmoke16> otherwise you couldnt do `Model.new`, or say you want to only select a few columns
<FromGitter>
<Blacksmoke16> maybe that would be the more ideal behavior? im not sure yet
<FromGitter>
<eliasjpr> I think it should behave the same as with the property, getter, setter keywords
<FromGitter>
<Blacksmoke16> thats how i have it now, where it just uses default property macro
<FromGitter>
<Blacksmoke16> but i feel like that would be harder to work with