diff --git a/dibi/drivers/sqlite.php b/dibi/drivers/sqlite.php index 85ff03d9..2bbf9c1a 100644 --- a/dibi/drivers/sqlite.php +++ b/dibi/drivers/sqlite.php @@ -478,6 +478,19 @@ class DibiSqliteDriver extends DibiObject implements IDibiDriver, IDibiReflector } $res[$index]['primary'] = (bool) $primary; } + if (!$res) { // @see http://www.sqlite.org/lang_createtable.html#rowid + foreach ($columns as $column) { + if ($column['vendor']['pk']) { + $res[] = array( + 'name' => 'ROWID', + 'unique' => TRUE, + 'primary' => TRUE, + 'columns' => array($column['name']), + ); + break; + } + } + } return array_values($res); } diff --git a/dibi/drivers/sqlite3.php b/dibi/drivers/sqlite3.php index 7136760a..32c82f36 100644 --- a/dibi/drivers/sqlite3.php +++ b/dibi/drivers/sqlite3.php @@ -464,6 +464,19 @@ class DibiSqlite3Driver extends DibiObject implements IDibiDriver, IDibiReflecto } $res[$index]['primary'] = (bool) $primary; } + if (!$res) { // @see http://www.sqlite.org/lang_createtable.html#rowid + foreach ($columns as $column) { + if ($column['vendor']['pk']) { + $res[] = array( + 'name' => 'ROWID', + 'unique' => TRUE, + 'primary' => TRUE, + 'columns' => array($column['name']), + ); + break; + } + } + } return array_values($res); }