Right Steps to Create App with Volume?

What’s the recommended steps to create a app with data volume?

e.g. to deploy a existing app with the mount section in toml config:

[mounts]
  source="app_data"
  destination="/data"

I have to:

  1. deploy a app without volume / deploy the config with failure for missing volume
  2. create a volume for the app
  3. deploy the app with the volume in mount

Any one-shot solutions?