# Question about schema evolution: extending existing nested object properties

**URL:** https://forum.weaviate.io/t/question-about-schema-evolution-extending-existing-nested-object-properties/22189
**Category:** Support
**Tags:** python
**Created:** [December 16, 2025, 8:17am UTC](https://forum.weaviate.io/t/question-about-schema-evolution-extending-existing-nested-object-properties/22189 "2025-12-16T08:17:30Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Astlvk](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/astlvk/32/7821_2.png) [@Astlvk](https://forum.weaviate.io/u/Astlvk)
#### Post date: [December 16, 2025, 8:17am UTC](https://forum.weaviate.io/t/question-about-schema-evolution-extending-existing-nested-object-properties/22189/1 "2025-12-16T08:17:30Z")

</div>

### Description

Hi everyone,

I currently have a collection with a nested object property (`object` or `object[]`) that already contains data.

For example:

```auto
Property(
    name="merged_summary",
    data_type=DataType.OBJECT_ARRAY,
    nested_properties=[
        Property(
            name="summary",
            data_type=DataType.TEXT,
        ),
        Property(
            name="turn",
            data_type=DataType.INT,
        ),
    ],
)

```

If I want to **add new fields to this existing nested object** , for example:

```auto
Property(
    name="type",
    data_type=DataType.TEXT,
)

```

is it possible to do this **without recreating the collection or migrating existing data**?

In other words:

> Does Weaviate support extending an existing `object` / `object[]` schema by adding new nested properties when data already exists?

### Server Setup Information

- Weaviate Server Version: 1.33.10
- Deployment Method: docker
- Client Language and Version: python & 4.18.3
- Multitenancy: Yes

---

<div class="post-metadata">

### Author: ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)
#### Post date: [December 17, 2025, 2:56pm UTC](https://forum.weaviate.io/t/question-about-schema-evolution-extending-existing-nested-object-properties/22189/2 "2025-12-17T14:56:02Z")

</div>

hi @Astlvk !!

Welcome to our community 🤗

If you have `AUTOSCHEMA_ENABLED` set to true (that’s the default), you can just push data in. For example:

```python
client.collections.delete("MyObjectCollection")
collection = client.collections.create(
    "MyObjectCollection"
)
# push data:
collection.data.insert({"object1": {"this": "is a test object"}})

# get the property schema
collection.config.get().properties[0].to_dict()

# prints:
{'name': 'object1',
 'description': "This property was generated by Weaviate's auto-schema feature on Wed Dec 17 14:26:49 2025",
 'dataType': ['object'],
 'indexFilterable': True,
 'indexSearchable': False,
 'indexRangeFilters': False,
 'tokenization': None,
 'nestedProperties': [{'dataType': ['text'],
   'description': "This nested property was generated by Weaviate's auto-schema feature on Wed Dec 17 14:26:49 2025",
   'indexFilterable': True,
   'indexSearchable': True,
   'name': 'this',
   'tokenization': 'word'}]}

# now you push a different object:
collection.data.insert({"object1": {"this": "is a second test object", "that": ["hi", "there!"]}})

# get the property schema
collection.config.get().properties[0].to_dict()

# prints:
{'name': 'object1',
 'description': "This property was generated by Weaviate's auto-schema feature on Wed Dec 17 14:26:49 2025",
 'dataType': ['object'],
 'indexFilterable': True,
 'indexSearchable': False,
 'indexRangeFilters': False,
 'tokenization': None,
 'nestedProperties': [{'dataType': ['text'],
   'description': "This nested property was generated by Weaviate's auto-schema feature on Wed Dec 17 14:26:49 2025",
   'indexFilterable': True,
   'indexSearchable': True,
   'name': 'this',
   'tokenization': 'word'},
  {'dataType': ['text[]'],
   'description': "This nested property was generated by Weaviate's auto-schema feature on Wed Dec 17 14:27:42 2025",
   'indexFilterable': True,
   'indexSearchable': True,
   'name': 'that',
   'tokenization': 'word'}]}

```

However, if you have auto schema turned off, there doesn’t seems to have a away to achieve the same change 🤔

I will investigate it more and get back here.

Thanks and happy coding! 🙂

---

<div class="post-metadata">

### Author: ![Astlvk](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/astlvk/32/7821_2.png) [@Astlvk](https://forum.weaviate.io/u/Astlvk)
#### Post date: [December 19, 2025, 6:35am UTC](https://forum.weaviate.io/t/question-about-schema-evolution-extending-existing-nested-object-properties/22189/3 "2025-12-19T06:35:10Z")

</div>

Thank you for the reply!

It’s a bit unfortunate in my situation — I have `AUTOSCHEMA_ENABLED` set to `false` (as recommended in the Weaviate documentation for production environments), so automatic nested property expansion isn’t available.

As the product evolves, schema changes — especially adding new fields — are often unavoidable. It would be great to see stronger support or recommended best practices for handling nested schema evolution when autoschema is disabled.

Thanks again for the help — much appreciated! 🙌

---

<div class="post-metadata">

### Author: ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)
#### Post date: [December 23, 2025, 1:18pm UTC](https://forum.weaviate.io/t/question-about-schema-evolution-extending-existing-nested-object-properties/22189/4 "2025-12-23T13:18:25Z")

</div>

Hi @Astlvk !

We hear you!!

This is a very [popular request that we will certainly tackle in 2026](https://github.com/weaviate/weaviate/issues/3694). So stay tuned 😉

Thanks!
