学说2迁移如何使用SQLite DB更改表?
-
30-09-2019 - |
题
我在学说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中失败。
不隶属于 StackOverflow