I'm logging this as a potential bug because the way I'm thinking it should work is different than what I'm experiencing and I'd like to understand why it works the way it does, and possibly discuss changing to how I think it should work.
Scenario 1
- Upload a new file to a file or image field.
- Immediately remove the file.
- Re-upload the same file.
Note that the resulting filename in step 1 and 3 are the same, which would indicate that the first file is actually removed from the system and re-uploaded.
Scenario 2
- Upload a new file to a file or image field.
- Save the node.
- Edit the node.
- Remove the file you uploaded in step 1.
- Re-upload the same file.
Note that the resulting filename in step 1 and step 5 are different. Re-uploading the file appends _0 to the filename within the files directory and the original file was never removed from the file system.
Also note that even after a node save in between step 4 and 5, the file that is re-uploaded is renamed and the original never deleted.
Expectation
I would have expected that during step 4 in scenario 2 that the file would be removed from the file system as well as the database and therefor upon re-upload of a file with the same name that the file name not change. Otherwise, how else are files ever deleted?
Recent comments
@yorkshirepudding, In the end I fixed it by deleting the config/active folder contents, copying the config/staging/ files into config/active, importing the database again and clearing the caches...
Importing the staged config throws an error: another field with the same name already exists
Thanks, I have to go out now, I will try later on and report back
Importing the staged config throws an error: another field with the same name already exists
Hi Francis. Yes, what config do you have in staging for it? You might have configs like: field.field.field_video_embed field.instance.node.page....
Importing the staged config throws an error: another field with the same name already exists