Remove implemented items from TODO
[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     - common tests for table/column comments
21     - optimize queries
22     - remove extra select for _filter_tables
23     - option to promote non-nullable unique constraints to PK (prefer int
24       columns when more than one) (RT#51696)
25     - figure out how to represent Informix 'DATETIME YEAR TO FRACTION(5)' in a
26       way that SQLT will like
27     - support domains (aka custom data types) as a Schema deploy hook
28     - add hashref form of generate_pod to control which POD is generated
29     - add hashref form of components to control which components are added to
30       which classes
31     - check rel accessors for method conflicts
32     - add an option to add extra code to Result classes (maybe...)
33     - redo in-memory schema as an @INC coderef rather than temp files
34     - add option to filter out views
35     - support columns with names like "ro'd p/n" in MSSQL
36     - automatic preserve_case detection
37     - reduce chances of relname/colname collisions
38     - strip _no, _num, _number, _code etc. from relnames
39     - write a Manual::Intro with info on +column, inflect_singular, config_file,
40       catalyst helper, etc.
41     - add result_roles and schema_roles for use with use_moose=1
42     - generate Schema/ResultBase.pm and Schema/ResultSetBase.pm
43     - remove additional warnings skip in t/22dump.t for ActivePerl on Win32
44     - make 23dumpmore.t auto cleanup and remove dump warnings
45     - generate POD for schema class with class list
46     - remove implicit rels from common tests so all tests work on MySQL
47     - server link support for Oracle and MSSQL
48
49 - Relationships
50    - While scanning for many-to-many, scan for implied rels as well (if
51      foo->belongs_to('bar') and baz->belongs_to('bar'), does that impliy
52      foo->might_have('baz') and the reverse?)
53
54 - Backends
55   - SQLite
56     - table/column comments
57     - introspect on_update/on_delete/is_deferrable
58     - introspect view SQL
59   - MySQL
60     - table/column comments
61     - introspect on_update/on_delete/is_deferrable
62     - introspect view SQL
63     - domains?
64   - Pg
65     - introspect on_update/on_delete/is_deferrable
66     - introspect view SQL
67     - domains
68   - DB2
69     - table/column comments
70     - introspect on_update/on_delete/is_deferrable
71     - introspect view SQL
72     - domains
73   - Oracle
74     - introspect on_update/on_delete/is_deferrable
75     - introspect view SQL
76     - domains
77   - Sybase ASE
78     - table/column comments
79     - introspect on_update/on_delete/is_deferrable
80     - introspect view SQL
81     - domains
82   - MSSQL
83     - table/column comments
84     - introspect on_update/on_delete/is_deferrable
85     - introspect view SQL
86     - computed column support
87     - domains
88     - Optimization
89       - use one query for whole table instead of query-per-column in _columns_info_for
90       - use placeholders when available
91   - SQLAnywhere
92     - table/column comments
93     - introspect on_update/on_delete/is_deferrable
94     - introspect view SQL
95     - domains
96   - Firebird
97     - table/column comments
98     - introspect on_update/on_delete/is_deferrable
99     - introspect view SQL
100     - domains
101   - Informix
102     - support opaque types
103     - datetime/interval precision detection
104     - table/column comments
105     - introspect on_update/on_delete/is_deferrable
106     - introspect view SQL
107     - domains