Declarative table partitioning (Postgres)
Here's an example. You can use `Meta.table_settings`:

https://github.com/coleifer/peewee/blob/master/tests/schema.py#L433-L448

```python
    def test_table_settings(self):
        class KVSettings(TestModel):
            key = TextField(primary_key=True)
            value = TextField()
            timestamp = TimestampField()
            class Meta:
                database = self.database
                table_settings = ('PARTITION BY RANGE (timestamp)',
                                  'WITHOUT ROWID')
        self.assertCreateTable(KVSettings, [
            ('CREATE TABLE "kv_settings" ('
             '"key" TEXT NOT NULL PRIMARY KEY, '
             '"value" TEXT NOT NULL, '
             '"timestamp" INTEGER NOT NULL) '
             'PARTITION BY RANGE (timestamp) '
             'WITHOUT ROWID')])
```

Doc of model metadata options (scroll to table): http://docs.peewee-orm.com/en/latest/peewee/models.html#model-options-and-table-metadata
I'm trying to figure out how to create a table with [declarative partitioning in Postgres](https://www.postgresql.org/docs/current/ddl-partitioning.html) so the syntax looks like this:

```sql
CREATE TABLE measurement (
    city_id         int not null,
    logdate         date not null,
    peaktemp        int,
    unitsales       int
) PARTITION BY RANGE (logdate);
```

And also individual partitions, like so:

```sql
CREATE TABLE measurement_y2006m02 PARTITION OF measurement
    FOR VALUES FROM ('2006-02-01') TO ('2006-03-01');

CREATE TABLE measurement_y2006m03 PARTITION OF measurement
    FOR VALUES FROM ('2006-03-01') TO ('2006-04-01');
```

I guess either could be done with raw SQL but I'm wondering if at very least there is any way to use the `Meta` on the model to append the `PARTITION BY RANGE` when using `db.create_tables()`.