# Contract is not upgrade safe, Defining structs is not yet supported

**URL:** <https://forum.openzeppelin.com/t/contract-is-not-upgrade-safe-defining-structs-is-not-yet-supported/4597>\
**Category:** Upgrades\
**Created:** [November 14, 2020, 5:34pm UTC](https://forum.openzeppelin.com/t/contract-is-not-upgrade-safe-defining-structs-is-not-yet-supported/4597 "2020-11-14T17:34:45Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![abcoathup](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/abcoathup/32/415_2.png) [@abcoathup](https://forum.openzeppelin.com/u/abcoathup)\
**Post date:** [November 16, 2020, 3:02am UTC](https://forum.openzeppelin.com/t/contract-is-not-upgrade-safe-defining-structs-is-not-yet-supported/4597/12 "2020-11-16T03:02:05Z")

</div>

Hi @Prabhakaran,

> [@Prabhakaran](#):
>
> “how to manually check the storage incompatibility” ,can you please suggest on how to do this.

Write higher level tests that set state prior to upgrade and then check state after the upgrade to ensure that state is maintained. Every state variable should be checked.

See examples:

- [OpenZeppelin Upgrades: Step by Step Tutorial for Truffle](https://forum.openzeppelin.com/t/openzeppelin-upgrades-step-by-step-tutorial-for-truffle/3579)
- [OpenZeppelin Upgrades: Step by Step Tutorial for Hardhat](https://forum.openzeppelin.com/t/openzeppelin-upgrades-step-by-step-tutorial-for-hardhat/3580)

---

_[View the full topic](https://forum.openzeppelin.com/t/contract-is-not-upgrade-safe-defining-structs-is-not-yet-supported/4597)._
