Difference between revisions of "Freeside:Documentation:Developer:Schema changes"
From Freeside
(→Essential documentation) |
(→Essential documentation) |
||
Line 6: | Line 6: | ||
=== Essential documentation === | === Essential documentation === | ||
− | * The upgrade script will automatically handle new tables as well as new columns, removed columns and changes to indices. Column changes (other than NULLability) | + | * The upgrade script will automatically handle new tables as well as new columns, removed columns and changes to columns and indices. Column changes (other than NULLability) require DBIx::DBSchema version 0.37 or later. |
− | * If other schema changes are required (such as | + | * If other schema changes are required (such as renamed or removed tables, etc.), add a quick note to the upgrade instructions at [[Freeside:1.9:Documentation:Upgrading-HEAD]] |
=== Skeleton class autogeneration === | === Skeleton class autogeneration === |
Revision as of 16:25, 27 December 2009
Contents
Schema.pm
- Required
- Edit the big data structure in FS/FS/Schema.pm and add your tables and columns
Essential documentation
- The upgrade script will automatically handle new tables as well as new columns, removed columns and changes to columns and indices. Column changes (other than NULLability) require DBIx::DBSchema version 0.37 or later.
- If other schema changes are required (such as renamed or removed tables, etc.), add a quick note to the upgrade instructions at Freeside:1.9:Documentation:Upgrading-HEAD
Skeleton class autogeneration
- For new tables. Optional but recommended. We're trying to save you work!
- Make sure the tables have been added to FS/FS/Schema.pm and run
make install-perl-modules
- From the root freeside directory, run
bin/generate-table-module tablename
for each table. - Edit the resulting FS/FS/table.pm
- FS/MANIFEST is updated and FS/t/table.t is added. Don't forget to cvs add FS/FS/table.pm and FS/t/table.t and check them in.
Required Documentation
- For new tables: add to FS/FS.pm
Optional: Documentation looking for adopters or innovative autogeneration
- somehwat neglected: httemplate/docs/schema.html
- really neglected: httemplate/docs/schema.dia