Developers/Setup tasks/Implementation/Rules for setup tasks


 * 1) Each setup task must extend MW_Setup_Task_Abstract, which implements MW_Setup_Task_Interface.
 * 2) Each setup task must consist of one class in one file. The class names must be MW_Setup_Task_ , where should be a short description, of what the setup task does. The best naming schema is &lt;domain&gt;&lt;action&gt;&lt;what&gt;, e.g. MW_Setup_Task_OrderAddBaseProductProductid.
 * 3) Each setup task should only contain statements related to its domain, either multiple changes in one table or multiple changes in the tables of the same domain. This is important to prevent circular dependencies between the setup tasks.
 * 4) Each change a setup task performs in the database must be added to the table or index definitions in the corresponding schema file. The schema files for MySQL in the Arcavias core are located in lib/mshoplib/setup/default/schema/mysql/, one .sql file for each database domain.
 * 5) Each setup task must declare, which setup tasks have to run before and after itself. Please check the existing setup tasks of the same domain if there's one that your task depends on.
 * 6) Existing setup tasks should never be changed to maintain full update capability for all versions.

<< Previous: Implementation - Process the updates | Next: Appendix: Setup task essentials >>