代码之家  ›  专栏  ›  技术社区  ›  tom

原则2迁移如何使用sqlite db更改表?

  •  2
  • tom  · 技术社区  · 14 年前

    在原则2的迁移中,我遇到了一些关于更改表的问题。以下代码始终引发错误: 平台不支持操作“document\DBAL\Platforms\AbstractPlatform::getAlterTableSQL”

    这很奇怪,因为sqlite支持ALTERTABLE。

    public function up(Schema $schema)
    {
        $user = $schema->getTable('user');
        $user->addColumn('resellerId', 'integer', array(
            'length'        => '10',
            'notnull'       => true,
            'unsigned'      => true,
        ));
    }
    
    2 回复  |  直到 14 年前
        1
  •  4
  •   romanb    14 年前

    尽管Sqlite“支持”ALTER TABLE,但与大多数其他数据库相比,允许的操作集很少( http://www.sqlite.org/lang_altertable.html

        2
  •  0
  •   Ben    14 年前

    在使用ORM时,我注意到MySQL和SQLite之间有一些细微的差别。

    这是一个痛苦,因为我使用SQLite内存dbs进行单元测试,因为我不能保证传入SQLite的持久性测试也传入MySQL。

    事实上,为了让内存dbs中的SQLite与条令一起工作,我必须调整条令SQLite驱动程序(代码为 http://thecodeabode.blogspot.com/2010/12/dropping-sqlite-in-memory-databases-in.html )因为为删除数据库而生成的sql语法对于内存中的dbs是失败的。

    推荐文章