public function testBuildCreateTable() { $schema = new Schema('foobar'); $schema->addColumn('column', ['type' => 'int', 'ai' => true]); $query = new Query(Query::CREATE_TABLE, new User()); $query->schema($schema); $this->assertRegExp('/CREATE\\s+TABLE IF NOT EXISTS (`|\\")?foobar(`|\\")? \\(\\n(`|\\")?column(`|\\")? INT NOT NULL AUTO_INCREMENT\\n\\);/', $this->object->buildCreateTable($query)); $schema->addColumn('column', ['type' => 'int', 'ai' => true, 'primary' => true]); $this->assertRegExp('/CREATE\\s+TABLE IF NOT EXISTS (`|\\")?foobar(`|\\")? \\(\\n(`|\\")?column(`|\\")? INT NOT NULL AUTO_INCREMENT,\\nPRIMARY KEY \\((`|\\")?column(`|\\")?\\)\\n\\);/', $this->object->buildCreateTable($query)); $schema->addColumn('column2', ['type' => 'int', 'null' => true, 'index' => true]); $this->assertRegExp('/CREATE\\s+TABLE IF NOT EXISTS (`|\\")?foobar(`|\\")? \\(\\n(`|\\")?column(`|\\")? INT NOT NULL AUTO_INCREMENT,\\n(`|\\")?column2(`|\\")? INT NULL,\\nPRIMARY KEY \\((`|\\")?column(`|\\")?\\)\\n\\);/', $this->object->buildCreateTable($query)); $schema->addOption('engine', 'InnoDB'); $this->assertRegExp('/CREATE\\s+TABLE IF NOT EXISTS (`|\\")?foobar(`|\\")? \\(\\n(`|\\")?column(`|\\")? INT NOT NULL AUTO_INCREMENT,\\n(`|\\")?column2(`|\\")? INT NULL,\\nPRIMARY KEY \\((`|\\")?column(`|\\")?\\)\\n\\) ENGINE InnoDB;/', $this->object->buildCreateTable($query)); }