Does this even work? Seems like I've broken my tables doing this but I have changed my contract pretty significantly.

I'd imagine that someone may want to add a new "column" (member) to their "table" (struct) as part of an upgrade of their contract to support new functionality. Is there any information on this?

The alternatives I see would be creating a new named table with a new named struct, then have an action that does a migration and sets a flag to use the new table. Then only let a trusted account call that migration action and make sure you call it soon after upgrading the contract, but this could run into cpu constraints and then maybe have to batch it, which could be a bit difficult to do properly.

  • not way for the table is a data structure now – Jimmy Guo Jun 26 '18 at 2:21
  • If the user paid for RAM, then for the migration the user has to run the upgrading. His permission is required to change the RAM usage. – friedger Jul 6 '18 at 11:25

Browse other questions tagged or ask your own question.