name = Column(String(1000, collation='utf8mb4_unicode_ci'), index=True)
.....
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1071, 'Specified key was too long; max key length is 3072 bytes')
Видно же, что код пытается создать индекс большей длины, чем возможно. Сделайте поле короче или не индексируйте его. Для хранилища InnoDB можно создать индекс длиной максимум 768 байт (не символов, т.к. в многобайтовых кодировках символ может занимать до 3-х байт). Цитата:
The index key prefix length limit is 767 bytes for InnoDB tables that use the REDUNDANT or COMPACT row format. For example, you might hit this limit with a column prefix index of more than 255 characters on a TEXT or VARCHAR column, assuming a utf8mb3 character set and the maximum of 3 bytes for each character.
https://dev.mysql.com/doc/refman/5.7/en/innodb-lim...