Truth to be told, Nim is not yet Nim 1.0 and there is no 100% guarantee that
code that you write will always work in the future. But I use a lot of
metaprogramming and breaking changes are very rare. But normally when things
change, the language wants you to improve your code and changes are very little
and easy to fix. Don't worry too much. You can safely generate your database
backing. If you will actually have the honour to see a breaking change, it will
a a compilation error that can be fixed within a few minutes, nothing that will
prevent you from making progress. Maybe you won't even need macros, because you
can get done a lot already with generics and iterators on object members.