phalcon/cphalcon — pull request #2848 by h0tw1r3 (2014-09-25 21:03:10+00:00)
Title: [2.0.0] Sqlite dialect createTable support

Improvements over #2832:

* Key indexes are in the create statement now
* savepoint is only used if a plain index is created (sqlite limitation)

Sqlite's auto increment requires a single column primary key be defined with the column definition (as opposed to table definition). So I set a variable (autocolumn) in the column loop, and check in the index loop to avoid a sql error that would not happen in mysql or postgres. It translates a primary index to a named unique index automatically.

What I didn't code was the check to make sure the column value is actually the same (see FIXME in code). I'm not familiar with the return zval (getcolumns) for comparison.