Is there any way of getting the tables created in the database when deploying?
I am new to SC and just on my first project. Whereas I find the development tool itself to be efficient, feature rich and easy to get started with, I am less impressed with the documentation. The web help is very cursory – hardly more than an introduction to some of the features, often not explaining the options thoroughly and leaving out many of them. Furthermore, the text could use editing by someone proficient in English. The new set of videos for SC8 are better. Mostly, they are clear and informative. Even the older ones are quite good. So viewing these and experimenting seem to be the way to get proficient in SC.
However, there is one area where I think the documentation is in dire need of improvement: Deployment!
The web help is again extremely cursory with screen prints back from from version 5 of SC. Even the new version 8 video is very short and seems rushed. There is an explanation of the first web page to access in the production environment, but with no corresponding picture. Its like the audio is out of sync with the video, and then it suddenly ends – one is left confused.
To me, original and maintenance deployment are important subjects that should have a long and structured documentation with all the steps as well as options explained in detail. Also, there should be a section with common pit falls / errors and how to avoid or handle them.
One thing that I am wondering about, is if it advisable to just test on the same system where the development is done. Looking at the screen dumps in the web help from SC5, they seem suggest installing under the same directory which contains the SC installation. I guess that is possible. However, developing in Windows, I would rather deploy to a local Linux machine with Apache and test there. Any thoughts on this?
Coming back to my original question on checking/creating tables when deploying, I am assuming that there is no such feature, since it is not mentioned, but perhaps I am wrong and it is handled so elegantly in the background that there is not even any need to mention it in the documentation.
However, should there be no table checking/creating feature in the deployment, I had the idea of doing the following instead:
-
Get the SQL to create the necessary tables from the database
-
When the first application runs, check that each table exists and create them with SQL calls to the database if they do not
-
Possibly populate some of the system tables (like settings tables) with core records needed for the system to run
Is that feasible or is there another better way?