X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=TODO;h=f39dcd6d19a4993f04841d06da3ea62a559a2511;hb=6e566cc4a06b1661597200611a03320f969e2566;hp=666320786d9ba194e89800228e3ea3a8678d4348;hpb=af8f362e4622205c2997157b4c6f46f4e05257c2;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/TODO b/TODO index 6663207..f39dcd6 100644 --- a/TODO +++ b/TODO @@ -1,29 +1,83 @@ +- General + - High Priority + - clean out RT queue + - introspect views and make proper ResultSource::View classes with defining SQL + - encode loader options in Schema.pm + - introspect on_update/on_delete/is_deferrable + - preserve_case mode for remaining backends + - Low Priority + - support multiple/all schemas, instead of just one + - support pk/uk/fk info on views, possibly (materialized views?) + - remove deprecated ResultSetManager stuff, rewrite using current features + - Refactor RelBuilder so that it doesn't require a live mostly-built DBIx::Class::Schema, so that other modules (SQLT) can use it easier. And then when/if we get there, break it out as a seperate distribution with a new name. + - support for user-defined-types as Schema deploy hooks + - normalize float/real/double data types in a most cross-deployment friendly fashion, using float(25) as the double boundary where possible + - finish data_type tests for all DBs (DB2 and Oracle left) + - support for Informix + - generate a schema accessor which stores which SQLT type it was loaded from + - add a settable 'on-behalf-of' version tag (for catalyst model) + - inject a table2moniker function into the schema + - support coderef for relationship_attrs + - common tests for table/column comments + - optimize queries + - remove extra select for _filter_tables + - option to promote non-nullable unique constraints to PK (prefer int + columns when more than one) (RT#51696) + - normalize accessors for mixed case columns in v7 mode (FooBar -> foo_bar) -immediate stuff for 0.04: --------------------------- +- Relationships + - Re-scan relations/tables after initial relation setup to find ->many_to_many() relations to be set up + - While scanning for many-to-many, scan for implied rels as well (if foo->belongs_to('bar') and baz->belongs_to('bar'), does that impliy foo->might_have('baz') and the reverse?) -dump_to_dir needs to delimit its output so that it can update on overwrite without killing added things - -avinash240 wants a rescan method to pick up new tables at runtime - -------- - -support multiple/all schemas, instead of just one - -support pk/uk/fk info on views, possibly. May or may not be a sane thing to try to do. - -Fix up ResultSet Manager / Methods / etc stuff. May require some work in the -main DBIx::Class first. - -SQLite needs some heavy refactoring, the subroutines are becoming too complex to understand easily. - -Refactor RelBuilder so that it doesn't require a live mostly-built -DBIx::Class::Schema, so that other modules (SQLT) can use it easier. And then -when/if we get there, break it out as a seperate distribution with a new name. - -Relationship stuff: - If local column is UNIQUE or PK, use has_one() for relation? - Re-scan relations/tables after initial relation setup to find ->many_to_many() relations to be set up? - Check NULLability of columns involved in the relationship, which might suggest a more optimal non-default -join-type? - While scanning for many-to-many, scan for implied rels as well? (if foo->belongs_to('bar') and baz->belongs_to('bar'), does that impliy foo->might_have('baz') and the reverse?) - ... +- Backends + - SQLite + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - MySQL + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - Pg + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - preserve_case mode + - DB2 + - data_type tests + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - preserve_case mode + - Oracle + - data_type tests + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - preserve_case mode + - Sybase ASE + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - MSSQL + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - computed column support + - Optimization + - use one query for whole table instead of query-per-column in _columns_info_for + - use placeholders when available + - SQLAnywhere + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - preserve_case mode + - Firebird + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - Informix + - data_type tests + - preserve_case mode + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL