Horde_Db TODO updates
authorChuck Hagenbuch <chuck@horde.org>
Thu, 14 Jan 2010 05:07:35 +0000 (00:07 -0500)
committerChuck Hagenbuch <chuck@horde.org>
Thu, 14 Jan 2010 05:07:45 +0000 (00:07 -0500)
framework/Db/doc/TODO.txt

index ab71811..85ba32b 100644 (file)
@@ -1,47 +1,53 @@
-- port updates in schema_definitions.rb and schema_statements.rb
+==========
+Migrations
+----------
 
-- allow adding multiple indexes (and columns) at once, in an aggregate
-  operation. at the abstract level this will just execute the changes one at a
-  time; for databases like mysql that can run multiple changes at once, it will,
-  achieving much better efficiency.
+- timestamp-based migrations like rails 2.1:
+  http://guides.rubyonrails.org/migrations.html
+
+- replace backend-specific structuredump with a PHP/JSON dump of schema and
+  data, including a corresponding importer. A simple YAML/JSON structure that
+  represents the PHP objects (TableDefinition, ColumnDefinition, IndexDefinition
+  - or alternately writes them out programmatically like a migration script)
+  would make it easiest to reconstruct identical tables between multiple
+  machines and multiple database types, and a simple JSON encoding of data (a
+  single header row, followed by one JSON array per database row per line) would
+  take care of most special characters and serialization issues, and allow for
+  fast line-by-line reading.
+
+- add convenience methods of calling $t->string('foo'), instead of
+  $t->column('string', 'foo'), inside migration scripts. Will need to introspect
+  the nativeDatabaseTypes() list from the connection for this.
 
-- replace backend-specific structuredump with a YAML/JSON dump of schema and
-  data, including a corresponding importer. should look at what it would take to
-  support MDB2_Schema XML instead, and at what Doctrine does, but a simple
-  YAML/JSON structure that represents the PHP objects (TableDefinition,
-  ColumnDefinition, IndexDefinition) would make it easiest to reconstruct
-  identical tables between multiple machines and multiple database types, and a
-  simple JSON encoding of data (a single header row, followed by one JSON array
-  per database row per line) would take care of most special characters and
-  serialization issues, and allow for fast line-by-line reading.
+
+=====
+Dates
+-----
 
 - Handle Horde_Date objects in both input/output from Horde_Db.
 
-- write a make task to generate .sql scripts (for a specific db backend) from
-  the schema/data files. might want to automatically generate these for release
-  tarballs too.
+- what to do about '0000-00-00' with PostgreSQL?
 
-- migrations. rails-style, and possibly also MDB2 diff between one parsed
-  structure and another. For rails-style, add convenience methods of calling
-  $t->string('foo'), instead of $t->column('string', 'foo'). Will need to
-  introspect the nativeDatabaseTypes() list from the connection for this.
+- http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html
 
-- rdo: add the ability to load a table once, then use it repeatedly in a
-  relationship (or to have it be a static array), instead of joining.
 
-- port any updates to mysql adapter
 
-- port any updates to pgsql adapter
+- port updates in schema_definitions.rb and schema_statements.rb
 
-- composite primary key support: http://compositekeys.rubyforge.org/
+- allow adding multiple indexes (and columns) at once, in an aggregate
+  operation. at the abstract level this will just execute the changes one at a
+  time; for databases like mysql that can run multiple changes at once, it will,
+  achieving much better efficiency.
 
-- port disable_referential_integrity?
+- rdo: add the ability to load a table once, then use it repeatedly in a
+  relationship (or to have it be a static array), instead of joining.
 
-- port query_cache.rb
+- composite primary key support: what does http://compositekeys.rubyforge.org/
+  have that we don't?
 
-- what to do about '0000-00-00' with PostgreSQL?
+- port disable_referential_integrity?
 
-- http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html
+- port query_cache.rb
 
 - Support mysqlnd statistics:
   http://developers.sun.com/databases/articles/mysql_php4.html#7