我一直在想谷歌上的文章试图"找到一种方法"来使用教义创建表格。我需要创建"临时表",因为我正在处理的项目将有很多"临时统计数据",我不需要拥有所有信息,只需要在某个时候获得"总计"。无论如何,MYSQL"临时"表只是"解决方案"。
但是,我找不到一条信息向您展示如何使用教义创建表格。
我知道 Doctrine 需要创建表和实体,但必须有一种方法可以"即时"创建表,或者运行原始查询。
这是我尝试过的一段代码,当然失败了:
$schema= new DoctrineDBALSchemaSchema();
//if (!$schema->tablesExist('post'))
//{
$table= new DoctrineDBALSchemaTable('post');
$table->addColumn('id', 'integer', ['autoincrement'=>true]);
$table->addColumn('title', 'text', ['notnull'=>true]);
$table->addColumn('content', 'text', ['notnull'=>true]);
$table->addColumn('status', 'integer', ['notnull'=>true]);
$table->addColumn('date_created', 'datetime', ['notnull'=>true]);
$table->setPrimaryKey(['id']);
$table->addOption('engine' , 'InnoDB');
$schema->createTable($table); // save to DB
//}
有人可以向我澄清是否可以使用教义创建表格吗?
非常感谢。
您编写的代码称为迁移,如果迁移安装和配置正确,可以使用以下命令执行:
php public/index.php migrations:migrate
如果您希望创建没有迁移的表,只需先创建一个实体,配置映射(使用注释或您选择的任何其他类型的(,然后使用以下方法强制创建架构:
php public/index.php doctrine:schema:update --force
如果要运行原始查询,可以:
$this->entityManager->getConnection()->executeQuery('SQL Query', $optionalParams);