X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=TODO;h=6973743e808ec7ea527cfb48bee9fa2b38f73c29;hb=bugfix-permit-preserve-case%3D0;hp=3506b5b154c54497f99b7aad9f1801e0f658959c;hpb=a1a91c420b11ce257dfad4f2323cb7c006ab285b;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/TODO b/TODO index 3506b5b..6973743 100644 --- a/TODO +++ b/TODO @@ -1,27 +1,111 @@ -0.05 BLOCKERS -============= +- General + - High Priority + - clean out RT queue + - introspect views and make proper ResultSource::View classes with defining SQL + - better avoidance of column and relationship accessor collisions + - encode loader options in Schema.pm + - introspect on_update/on_delete/is_deferrable + - 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 + - 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) + - figure out how to represent Informix 'DATETIME YEAR TO FRACTION(5)' in a + way that SQLT will like + - support domains (aka custom data types) as a Schema deploy hook + - add hashref form of generate_pod to control which POD is generated + - add hashref form of components to control which components are added to + which classes + - check rel accessors for method conflicts + - add an option to add extra code to Result classes (maybe...) + - redo in-memory schema as an @INC coderef rather than temp files + - add option to filter out views + - support columns with names like "ro'd p/n" in MSSQL + - automatic preserve_case detection + - reduce chances of relname/colname collisions + - strip _no, _num, _number, _code etc. from relnames + - write a Manual::Intro with info on +column, inflect_singular, config_file, + catalyst helper, etc. + - add result_roles and schema_roles for use with use_moose=1 + - generate Schema/ResultBase.pm and Schema/ResultSetBase.pm + - remove additional warnings skip in t/22dump.t for ActivePerl on Win32 + - make 23dumpmore.t auto cleanup and remove dump warnings + - generate POD for schema class with class list + - remove implicit rels from common tests so all tests work on MySQL + - server link support for Oracle and MSSQL + - add -I support to dbicdump -Add backwards-compatibility mode when regenerating a 0.04-generated schema +- 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?) -OTHER STUFF -=========== - -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: - 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?) - ... - -unregister sources for dropped tables on rescan +- 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 + - domains? + - Pg + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - domains + - DB2 + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - domains + - Oracle + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - domains + - Sybase ASE + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - domains + - MSSQL + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - computed column support + - domains + - 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 + - domains + - Firebird + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - domains + - Informix + - support opaque types + - datetime/interval precision detection + - table/column comments + - introspect on_update/on_delete/is_deferrable + - introspect view SQL + - domains