support for fully-qualified components in result_component_map and tests
[dbsrgits/DBIx-Class-Schema-Loader.git] / TODO
1 - General
2   - High Priority
3     - clean out RT queue
4     - introspect views and make proper ResultSource::View classes with defining SQL
5     - better avoidance of column and relationship accessor collisions
6     - encode loader options in Schema.pm
7     - introspect on_update/on_delete/is_deferrable
8   - Low Priority
9     - support multiple/all schemas, instead of just one
10     - support pk/uk/fk info on views, possibly (materialized views?)
11     - remove deprecated ResultSetManager stuff, rewrite using current features
12     - Refactor RelBuilder so that it doesn't require a live mostly-built
13       DBIx::Class::Schema, so that other modules (SQLT) can use it easier.  And
14       then when/if we get there, break it out as a seperate distribution with a
15       new name.
16     - support for user-defined-types as Schema deploy hooks
17     - generate a schema accessor which stores which SQLT type it was loaded from
18     - add a settable 'on-behalf-of' version tag (for catalyst model)
19     - inject a table2moniker function into the schema
20     - support coderef for relationship_attrs
21     - common tests for table/column comments
22     - optimize queries
23     - remove extra select for _filter_tables
24     - option to promote non-nullable unique constraints to PK (prefer int
25       columns when more than one) (RT#51696)
26     - figure out how to represent Informix 'DATETIME YEAR TO FRACTION(5)' in a
27       way that SQLT will like
28     - support domains (aka custom data types) as a Schema deploy hook
29     - add hashref form of generate_pod to control which POD is generated
30     - add hashref form of components to control which components are added to
31       which classes
32     - check rel accessors for method conflicts
33     - add an option to add extra code to Result classes (maybe...)
34     - redo in-memory schema as an @INC coderef rather than temp files
35     - add option to filter out views
36     - support columns with names like "ro'd p/n" in MSSQL
37     - automatic preserve_case detection
38     - reduce chances of relname/colname collisions
39     - strip _no, _num, _number, _code etc. from relnames
40     - write a Manual::Intro with info on +column, inflect_singular, config_file,
41       catalyst helper, etc.
42     - add result_roles and schema_roles for use with use_moose=1
43     - generate Schema/ResultBase.pm and Schema/ResultSetBase.pm
44     - remove additional warnings skip in t/22dump.t for ActivePerl on Win32
45
46 - Relationships
47    - Re-scan relations/tables after initial relation setup to find
48      ->many_to_many() relations to be set up
49    - While scanning for many-to-many, scan for implied rels as well (if
50      foo->belongs_to('bar') and baz->belongs_to('bar'), does that impliy
51      foo->might_have('baz') and the reverse?)
52
53 - Backends
54   - SQLite
55     - table/column comments
56     - introspect on_update/on_delete/is_deferrable
57     - introspect view SQL
58   - MySQL
59     - table/column comments
60     - introspect on_update/on_delete/is_deferrable
61     - introspect view SQL
62     - domains?
63   - Pg
64     - introspect on_update/on_delete/is_deferrable
65     - introspect view SQL
66     - domains
67   - DB2
68     - table/column comments
69     - introspect on_update/on_delete/is_deferrable
70     - introspect view SQL
71     - domains
72   - Oracle
73     - introspect on_update/on_delete/is_deferrable
74     - introspect view SQL
75     - domains
76   - Sybase ASE
77     - table/column comments
78     - introspect on_update/on_delete/is_deferrable
79     - introspect view SQL
80     - domains
81   - MSSQL
82     - table/column comments
83     - introspect on_update/on_delete/is_deferrable
84     - introspect view SQL
85     - computed column support
86     - domains
87     - Optimization
88       - use one query for whole table instead of query-per-column in _columns_info_for
89       - use placeholders when available
90   - SQLAnywhere
91     - table/column comments
92     - introspect on_update/on_delete/is_deferrable
93     - introspect view SQL
94     - domains
95   - Firebird
96     - table/column comments
97     - introspect on_update/on_delete/is_deferrable
98     - introspect view SQL
99     - domains
100   - Informix
101     - support opaque types
102     - datetime/interval precision detection
103     - table/column comments
104     - introspect on_update/on_delete/is_deferrable
105     - introspect view SQL
106     - domains