Schema change not allowed from scalar to uid or vice versa while there is data for pred

@ashishgoswami
This is in error is in dgraph itself . If i DROP DATA then it’s working but with only delete it’s not working.
i reproduced it with following steps in dgraph.

1.Add schema for Message

<Message.from>: string .
<Message.message>: string .
<Message.to>: string .
<dgraph.graphql.schema>: string .
<dgraph.graphql.xid>: string @index(exact) @upsert .

2.Add message

{
  
 set {
     _:message1 <Message.from> "jatin" .
     _:message1 <Message.to> "pawan" .
     _:message1 <Message.message> "hi" .
     _:message1 <dgraph.type> "Message" .
  
  }
  
}

3.Delete message

{
  delete{
       <0x753f> * * .
  }
}

4.Try changing schema: message.from from string type to uid, but got error as below

if i try to DROP data then it works.
Is that expected behaviour?
i guess delete is not cleaning the data properly.

1 Like