             try db.execute(
                 "CREATE TABLE persons (" +
                     "id INTEGER PRIMARY KEY, " +
-                    "name TEXT" +
+                    "name TEXT," +
+                    "email TEXT" +
                 ")")
             try db.execute(
                 "CREATE TABLE books (" +

private class Person : Record {
    var id: Int64?
    let name: String
    let bookCount: Int?
    
    init(id: Int64? = nil, name: String) {
        self.id = id
        self.name = name
        self.bookCount = nil
        super.init()
    }

            XCTAssertEqual(recorder.recordsBeforeChanges.map { $0.name }, ["Barbara", "Arthur"])
            XCTAssertEqual(recorder.recordsAfterChanges.count, 1)
            XCTAssertEqual(recorder.recordsAfterChanges.map { $0.name }, ["Craig"])
            
            // Change request with a different set of tracked columns
            recorder.transactionExpectation = expectation(description: "expectation")
            controller.setRequest(Person.select(Column("name"), Column("email")).order(Column("name")))
            waitForExpectations(timeout: 1, handler: nil)
            
            XCTAssertEqual(recorder.recordsBeforeChanges.count, 1)
            XCTAssertEqual(recorder.recordsBeforeChanges.map { $0.name }, ["Craig"])
            XCTAssertEqual(recorder.recordsAfterChanges.count, 2)
            XCTAssertEqual(recorder.recordsAfterChanges.map { $0.name }, ["Arthur", "Barbara"])
            
            try dbQueue.inTransaction { db in
                try db.execute("UPDATE persons SET email = ? WHERE name = ?", arguments: ["arthur@example.com", "Arthur"])
                return .commit
            }
            waitForExpectations(timeout: 1, handler: nil)
            
            XCTAssertEqual(recorder.recordsBeforeChanges.count, 2)
            XCTAssertEqual(recorder.recordsBeforeChanges.map { $0.name }, ["Arthur", "Barbara"])
            XCTAssertEqual(recorder.recordsAfterChanges.count, 2)
            XCTAssertEqual(recorder.recordsAfterChanges.map { $0.name }, ["Arthur", "Barbara"])
        }
    }
    
