Hello, Assume a table simplified for this discussion as:
create table T(C timestamp default (julianday()) not null); I simply have to use a new function (let's call it 'now()' other than julianday() to define the default for this column. I have apparently successfully tested this: pragma writable_schema=1; update sqlite_master set sql='create table T(C timestamp default (now()) not null)' where type='table' and name='T'; pragma writable_schema=0; (and then disconnect / reconnect). The automated patch would actually select the sql column value for the right table, edit the string appropriately, changing nothing else, then update it as above. This will happen in a situation where a single connection (that one) is made to the db (that can be guaranteed by the host app). Apparently, from testing, I do not seem to suffer from side-effects and the default is properly applied when needed. But am I missing some important detail that could hurt me later? Or do you agree with this procedure? -- Meilleures salutations, Met vriendelijke groeten, Best Regards, Olivier Mascia, integral.be/om