我在学说2的迁移中更改表的问题有一些问题。 操作'Doctrine Dbal Platforms AbstractPlatform :: GetalterTablesQl'不受平台的支持.

这很奇怪,因为Alter表由SQLite支持。

public function up(Schema $schema)
{
    $user = $schema->getTable('user');
    $user->addColumn('resellerId', 'integer', array(
        'length'        => '10',
        'notnull'       => true,
        'unsigned'      => true,
    ));
}
有帮助吗?

解决方案

即使Alter表受到SQLite的“支持”,但与大多数其他数据库相比,允许的操作集最少(http://www.sqlite.org/lang_altertable.html),因此为什么认为它不受学说的支持。

其他提示

使用ORM时,我注意到MySQL和SQLite之间存在一些麻烦。使用学说,我发现外国关键关系在sqlite中没有像在mysql中那样维持。

这是一种痛苦,因为我在内存DBS中使用SQLITE进行单位测试,因为我不能保证通过SQLite传递的持久性测试也通过MySQL。

实际上,要使记忆DBS中的SQLite使用学说,我不得不调整学说Sqlite驱动程序(代码在 http://thecodeabode.blogspot.com/2010/12/dropping-sqlite-in-memory-databases-in.html)作为用于删除数据库的SQL语法在内存DB中失败。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top