# Question on structs and upgradeable contracts

**URL:** <https://forum.openzeppelin.com/t/question-on-structs-and-upgradeable-contracts/31947>\
**Category:** Contracts\
**Tags:** proxies\
**Created:** [September 19, 2022, 12:12pm UTC](https://forum.openzeppelin.com/t/question-on-structs-and-upgradeable-contracts/31947 "2022-09-19T12:12:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Allennick](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/allennick/32/8591_2.png) [@Allennick](https://forum.openzeppelin.com/u/Allennick)\
**Post date:** [September 19, 2022, 12:12pm UTC](https://forum.openzeppelin.com/t/question-on-structs-and-upgradeable-contracts/31947/1 "2022-09-19T12:12:52Z")

</div>

Hi everyone, I was wondering what happens if I add a variable inside a struct and then upgrade the contract?  
So I use this struct and deploy it in a contract

```auto
struct MyStruct {
  string id
}

```

Then I upgrade the contract and the struct becomes this:

```auto
struct MyStruct {
  string id;
  uint256 counter;
}

```

Is this a problem?

---

<div class="post-metadata">

**Author:** ![Amxx](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/amxx/32/668_2.png) [@Amxx](https://forum.openzeppelin.com/u/Amxx)\
**Post date:** [September 22, 2022, 9:47am UTC](https://forum.openzeppelin.com/t/question-on-structs-and-upgradeable-contracts/31947/2 "2022-09-22T09:47:07Z")

</div>

Hello @Allennick

It really depends how your structure is used. Can you tell us more ?
