### reproduction * table schema: ```json {"fields": [ {"name": "id", "type": "integer"}, {"name": "date", "type": "string"} ], "primaryKey": ["id"] ``` * write some rows to a PostgreSQL DB - but in the rows, have the id as type string (but numeric) * data in DB is inserted correctly, and DB converts it to integer * now, write the same rows again #### expected * provide an error message, warning about type mismatch * or match rows in DB (as opposed to bloom) #### actual * [writer.__prepare_bloom](https://github.com/frictionlessdata/tableschema-sql-py/blob/master/jsontableschema_sql/writer.py#L111) - collects all data as integers * [writer.__check_existing](https://github.com/frictionlessdata/tableschema-sql-py/blob/master/jsontableschema_sql/writer.py#L118) - compares with a string id - which doesn't match * this causes insert * when inserting, the DB matches the primary key (even though types don't match) * error about duplicate key