Hello, On 01/26/2003 03:20 AM, Dominik Wittenbeck wrote:
That is a feature provided by Metabase schema management. Currently, Metastorage generates code that use Metabase database API. Metabase lets you define database schemas using a simple XML format that is database independent. Metabase takes care of the installation of such schema.I am targeting a more slim solution though, solving a very specialized problem. As a developer I simply hate needing to change a database table, splitting it up, to make it fit the customers needs. I causes all those SQL statement to be revised.With the oo2rel mapping layer I have put much thought into the possibility that a project's datastructure actually might need a change when it is live and filled with data. I cannot simply change the structure, recompile my classes and submit them. I somehow need to preserve integrity within the data model as well. I know I cannot come up with a comprehensive tutorial, not even working examples, but this is the background in front of which I need to operate and somehow I feel I am not the only one
If you change the XML schema definition, Metabase will apply the changes without affecting the data that was added to the database after it was installed for the first time or updated for the last time. If you are providing such feature in your project, basically you are replicating that capability that Metabase provides for about 4 years now when it was started being developed.
There are plenty of reasons to prevent developers to use SQL by hand. First because Metastorage has all the information it needs to retrieve the objects from the database using appropriate SQL code that is statically embedded in the generated classes.I am going to keep basic SQL statements, since that's the way developers, not having a degree think in those relational SQL structures as they understand them more easily. Why take something away from them they know. SQL will just be adapted to OO-state in a manner that is readable and understandable at first glance.
If you are going to let the developer specify SQL by hand, your code is more likely to be buggy because your application will not verify if the developer specified SQL code is appropriate and correct.
Also, if it is the developer that enters the SQL code, you prevent the possibility to perform context specific optimizitions that the code generator could perform statically.
Anyway, the most important point is that if the developer still has to supply the SQL code, you are not taking much of his work and so the developments will still take a long time, the main reason why so many IT projects fail.
The solution of Metastorage is to let the developer control everything from high level. If you need to specify details that usually would require SQL, like specifying filtering conditions, Metastorage provides an high level syntax for specifying such conditions in the classes XML definition. That lets Metastorage verify the validity of the conditions and generate optimized code.
As I said: not as comprehensive and complete as your project, but I think its targeting a more specific solution, that occurs often enough in everyday
I am not sure what you mean about targeting a more specific solution .
No, problem. I just thought you would like to know about the overlap of the projects, so you just don't duplicate efforts re-inventing the wheel. If your project provides something better of something that Metastorage does not provide, I would most certainly would like to know.life to need support. You didn't discourage me at all, but rather give me an idea, where thing might be going for me in the future. Tnx! I will have a look into MetaL, that's for sure, but I will also continue with the OO2REL project ;-)
--
Regards,
Manuel Lemos
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php