Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
51 lines (47 sloc) 2.74 KB

0.x-ALPHA

  • DBAL Connection over sockets (ostico/phporient integration)
  • DBAL Connection over RESTful API (inspired by yapro/doctrine2-orientdb-restful-driver)
  • DBAL integration to generate doctrine:schema:create and doctrine:schema:update code
  • create class
  • create properties (with options)
  • alter properties (with options)
  • create indexes (with options)
  • create indexes (with options)
  • create links/linksets (foreign keys get remaped as links)
  • custom DBAL Types representing RID, LINK/LINKSET, EMBEDDED/EMBEDDEDSET and EDGE

1.0-BETA

  • retrieve lastInsertId (write inserts using LET $id = INSERT ... RETURN ...)
  • retrieve lastVersion value
  • Override default persister functionality in Doctrine (https://github.com/mihai-stancu/doctrine2/tree/custom_persister_support)
  • Contribute custom persister functionality to Doctrine (PR); without it we can't override any of the persister related behavior.
  • allow (configurable?) document-level operations instead of SQL statement based
  • persist
  • update -- by patching with a change set
  • findOne/loadById
  • remove
  • override collection persisters and ensure persist operations occur correctly
  • remove all table aliases from DQL queries (via SQL Walker)
  • remove all JOIN clauses from DQL queries (via SQL Walker)
  • ensure entity hydration occurs correctly in persister
  • ensure entity hydration occurs as expected when DQL queries are used with JOINs
  • remap JOIN clauses as fetch plans

1.0-RC

  • implement binary document serialization for the socket driver
  • use prepared statement parameters in the socket driver
  • add (and register) custom OrientDB functions/methods
  • allow the query builder to use special OrientDB syntax

    SELECT properties[name... ] FROM schema:classes;

It can wait

  • map EDGE properties to restrict in/out links to specified classes
  • create embedded/embeddedset (how?)
  • configurable use of Lightweight EDGEs vs normal EDGEs per relationship
  • configurable use of EDGEs vs LINKs/LINKSETs for relationships
  • integrating OrientDB inheritance features into Doctrine2 ORM inheritance features
  • allowing classes to extend from V or E
  • integrate sequence generation and usage
  • integrate doctrine versioning with orientdb versioning