I was working on my Spring boot app project and noticed that, sometimes there is a connection time out error to my Database on another server(SQL Server). 
This happens specially when I try to do some script migration with FlyWay but it works after several tries. 
Then I noticed that I didn't specify  spring.jpa.hibernate.ddl-auto in my properties file. I did some research and found that it is recommended to add
 spring.jpa.hibernate.ddl-auto= create-drop in development.
 And change it to: spring.jpa.hibernate.ddl-auto= none in production.
But I didn't actually understand how does it really work and how does hibernate generate database schema using create-drop or none value. Can you please explain technically how does it really work, and what are recommendations for using this property in development and on a production server.
Thank you
 
     
     
     
     
     
    