OrmLite Composite Index Property Identifier Length

Not urgent, but ServiceStack/ServiceStack.OrmLite line 1527 probably needs a provider-specific override that right sizes the length of the index names to the max length of the dbms (or a constructor that allows you to name it :wink:

{MySql.Data.MySqlClient.MySqlException (0x80004005): Identifier name ‘uidx_ordercharge_financialeventgroupid_orderitemid_chargetype_posteddate’ is too long
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
at ServiceStack.OrmLite.OrmLiteWriteCommandExtensions.CreateTable(IDbCommand dbCmd, Boolean overwrite, Type modelType)
at ServiceStack.OrmLite.OrmLiteSchemaApi.<>c__DisplayClass10_0.b__0(IDbCommand dbCmd)
at ServiceStack.OrmLite.OrmLiteExecFilter.Exec[T](IDbConnection dbConn, Func2 filter) at ServiceStack.OrmLite.OrmLiteReadExpressionsApi.Exec[T](IDbConnection dbConn, Func2 filter)
at ServiceStack.OrmLite.OrmLiteSchemaApi.CreateTableIfNotExists(IDbConnection dbConn, Type modelType)

You can use a Custom Index Name:

public class Table
{
    [Index(Name = "idx_custom_name")]
    public string Name { get; set; }
}