title: Python peewee foreign key constraint incorrectly formed
body: <p><br>
  I'm currently working on a python project using peewee to connect to MySQLDatabase. <br>
  If I want to create a table using 
  <code>database.create_tables(tables=[])</code> (create_table does not work) <br> I get the following error message from my logger:</p>
  
  <blockquote>
    <p>ERROR session[5924]: (1005, 'Can't create table example_database.example_table (errno: 150 "Foreign key constraint is incorrectly formed")')</p>
  </blockquote>
  
  <p>example_table is specified as:</p>
  
  <pre><code>class Example_Table(BaseModel):
      id = PrimaryKeyField()
      example_table2 = ForeignKeyField(Modul)
      class Meta:
          db_table = 'Example_Table'
  </code></pre>
  
  <p>BaseModel is defined as follows:</p>
  
  <pre><code>class BaseModel(Model):
      class Meta:
          database = database
  </code></pre>
  
  <p>and database is my MySQLDatabase Object. <br>
  The Problem is, why doesnt the foreign key constraint work and why are the tables all saved in Lowercase, but I defined them in Uppercase <br></p>
  
  <p>If I run the program again, It creates the tables but gives me a duplicate key_name error
  <br><br>
  Version: peewee==3.0.17</p>