Inner Select as Operation
Not really, Peewee does not make an effort to support microsoft tsql. @coleifer Thanks for the quick response! I understand that peewee doesnt support tsql. However I am making my own database object to support it. I thought I could just do a similar thing to the SQliteDatabase code. I appreciate any opinions from you on this. I could boil my problem down to the question whether peewee supports this form of operations:
```python
operations={
        "IF NOT EXISTS": "IF NOT EXISTS(select * from sysobjects where name='sometable')"
    }
```
Where there is a select statement with params inside. Unless this is what you mean by `not make an effort to support microsoft tsql.` in that tsql requires the ability to replace simple operations with subqueries?

If your response is that the operations field doesnt support something as complex as a subquery, then that helps a lot, I would likely need to do some deeper customization then. Thanks! You will want to subclass the `SchemaManager` and override the `_create_table()` method, then instruct your base models to specify your custom SchemaManager implementation. The SchemaManager is where the logic lives for constructing the various DML queries.
I am trying to setup a Azure SQL Db connector for peewee. Currently Model's use a local sqlite db for local storage/caching. I would like to connect to Azure SQL DB. I have found that this is not instantly straight forward:

When executing a `db.create_tables([table for table in classes if table not in db.get_tables()])` we get a create table failure:
```bash
{peewee.py:3132} DEBUG - ('CREATE TABLE IF NOT EXISTS "some_table" \
("some_table_id" INTEGER NOT NULL PRIMARY KEY,  "some_column" TEXT)', [])
....
[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Incorrect syntax near \
the keyword 'IF'. (156) (SQLExecDirectW)"
```
This is because for whatever reason, ASDB has a different way to checking if a table exists:
```python
# peeewee                                                          ASDB
"IF NOT EXISTS": "IF NOT EXISTS(select * from sysobjects where name='sometable' and xtype='U')
```

My solution is to try operations:
```python
class AzureSQLDatabase(Database):
    operations={
        "IF NOT EXISTS": "IF NOT EXISTS(select * from sysobjects where name='sometable' and xtype='U')"
    }
```
However it doesn't seem like that operation is being applied to a model's create_table execution. There is also the issue that
I need to know the model's name in the operation. 
`SomeTable._meta.database=asdb`
```python
ctx = SomeTable._schema._create_context()
ctx.literal('IF NOT EXISTS')
```

Is there an easy solution in peewee to solve this? I think the quick and dirty way is to overwrite `execute_sql` to do the replacement, however I assumed that I can use `operations` to solve this. Is there somewhere to look at operations that contain queries?

I am also have a hard time finding where `operations` gets used? Like where is the line that does the sql replacement.