Jason Kohles wrote:
On Nov 14, 2007, at 7:05 AM, Pedro Melo wrote:

On Nov 13, 2007, at 10:17 PM, Jason Kohles wrote:
On Nov 7, 2007, at 12:24 PM, Pedro Melo wrote:
I was wondering how do you document your schemas?

I started adding 'docs' keys to the extra hash for each column. I've also added a Doc component that allows me to set up some texts as documentation for the class.

Then I can use basic introspection and generate the entire documentation (right now using a Catalyst::Controller).

To prevent unnecessary memory usage in production, all the text of the docs is not kept unless a environment variable is set.
I'm actually doing the same thing, I've been working on a DBIx::Class::AutoDoc package which includes a tool that takes a DBIx::Class::Schema object and generates documentation for it, similar to the documentation that is produced by postgresql_autodoc (http://www.rbt.ca/autodoc/) but from the standpoint of documenting the classes, rather than the database itself. I'm planning on an initial release sometime this week, as soon as I can get a few last issues worked out.

This is my attempt at it. It works ok for me right now, no docs yet.

http://scsys.co.uk:8001/10756

To use, create a Cat controller and use base it like this:

http://scsys.co.uk:8001/10757

start at /docs/db and follow the links. I added the notion of table groups, it helps me sort tables into functional areas.

A sample schema result class with documentation, PT, sorry :):

http://scsys.co.uk:8001/10758

I was looking at it more from a utility standpoint, so mine doesn't require Catalyst at all, it just generates documentation files...

Currently it's at the point where it will generate fairly complete documentation in HTML, as well as diagrams (using GraphViz) of the tables and the relationships...

There is a library you can use to generate documentation programmatically (which is documented below), or there is also a command-line tool which uses this library, making it extremely easy to generate a whole bunch of documentation...

With the command line tool, it works something like this:

% dbix-class-autodoc --schema=MyApp::DB::Schema --output=/tmp/schema-docs
% ls /tmp/schema-docs
MyApp-DB-Schema-1.html
MyApp-DB-Schema-1.dot
MyApp-DB-Schema-1.png
MyApp-DB-Schema-1.imap


And the documentation generation is all driven from Template::Toolkit, which makes it very easy to change the look of the documentation if you need to...


Do you do the graphing yourself? ro do you use SQL::Translator to do it for you?


_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]

Reply via email to