Fx places.sqlite not fit for pwiz.py
> A second thing is: it is usually a good thing not to silently make assumptions, like emitting an UnknownFieldType as mentioned above.

pwiz emits `UnknownFieldType` because it is unknown...exactly because we don't want to be making assumptions. See: http://www.sqlite.org/datatype3.html .

I don't see any problem with adding `long` -> `BigIntegerField`. I'm not sure about some others.  Maybe it makes sense to put a comment after the `UnknownFieldType` indicating the column type in the table definition.
 In my particular case the three additions to the mapping array seem to work, but I have not tested it extensively. 

Good suggestion about the column type hint. 

BTW In general I agree with you about the assumptions, but..._places.sqlite_ happened to be the first database I tried to introspect. I can't believe I was the first one till now to pick places.sqlite :->  

Luckily I stayed on board, but maybe others did not, and moved on to another ORM solution. And that is really too bad, because peewee deserves better than a first crappy experience with pwiz due to some non-standard, but very common database :-) Keep up the good work. 
 I'm sorry you were disappointed with the generated code.
 I've added some logic to display the raw underlying data type.  With sqlite you can enter in any garbage you want...this is perfectly valid:

``` sql
create table walrus (tusk ivory, whisker blubber);
```

pwiz will now return:

``` python
class Walrus(BaseModel):
    tusk = UnknownFieldType(null=True)  # ivory
    whisker = UnknownFieldType(null=True)  # blubber

    class Meta:
        db_table = 'walrus'
```

In fact, it is the other way around :-) 

Firefox's **places.sqlite** database (and propably others too) use a slighty modified field model, which is not supported by pwiz.py. 

What I found is that Firefox at least uses non-standard datatypes _long_ and _longvarchar_, and also can use fields _without_ a proper type denotation. 

The _mapping_-array of the SqliteIntrospector of pwiz.py does not support this, and silently emits _UnknownFieldType_ instances in theses cases. 

First. It is easily fixed by adding three lines to the mapping array:
           'long': BigIntegerField, 
           'longvarchar': TextField, 
           '': TextField,

A second thing is: it is usually a good thing not to silently make assumptions, like emitting an UnknownFieldType as mentioned above. The least _pwizz.py_ should do is give a warning.

It would be nice if these things can be added to the script, perhaps only if a special engine flag has been set.
