diff --git a/tests/model/DataObjectSchemaGenerationTest.php b/tests/model/DataObjectSchemaGenerationTest.php index 97a990fbc..7e1001eec 100644 --- a/tests/model/DataObjectSchemaGenerationTest.php +++ b/tests/model/DataObjectSchemaGenerationTest.php @@ -29,10 +29,6 @@ class DataObjectSchemaGenerationTest extends SapphireTest { class DataObjectSchemaGenerationTest_DO extends DataObject implements TestOnly { static $db = array( - 'MultiEnum1' => 'MultiEnum("A, B, C, D","")', - 'MultiEnum2' => 'MultiEnum("A, B, C, D","A")', - 'MultiEnum3' => 'MultiEnum("A, B, C, D","A, B")', - 'Enum1' => 'Enum("A, B, C, D","")', 'Enum2' => 'Enum("A, B, C, D","A")', ); diff --git a/tests/model/MySQLDatabaseTest.php b/tests/model/MySQLDatabaseTest.php new file mode 100644 index 000000000..33a61038f --- /dev/null +++ b/tests/model/MySQLDatabaseTest.php @@ -0,0 +1,49 @@ + 'MultiEnum("A, B, C, D","")', + 'MultiEnum2' => 'MultiEnum("A, B, C, D","A")', + 'MultiEnum3' => 'MultiEnum("A, B, C, D","A, B")', + ); + } + + parent::setUp(); + } + + /** + * Check that once a schema has been generated, then it doesn't need any more updating + */ + function testFieldsDontRerequestChanges() { + // These are MySQL specific :-S + if(DB::getConn() instanceof MySQLDatabase) { + + $db = DB::getConn(); + DB::quiet(); + + // Verify that it doesn't need to be recreated + $db->beginSchemaUpdate(); + $obj = new MySQLDatabaseTest_DO(); + $obj->requireTable(); + $needsUpdating = $db->doesSchemaNeedUpdating(); + $db->cancelSchemaUpdate(); + + $this->assertFalse($needsUpdating); + } + } +} + +class MySQLDatabaseTest_DO extends DataObject implements TestOnly { + static $db = array(); + +} \ No newline at end of file