setTable(determineTableName('api_key_roles', $emConfig)); $builder->createField('id', Types::BIGINT) ->makePrimaryKey() ->generatedValue('IDENTITY') ->option('unsigned', true) ->build(); $builder->createField('roleName', Types::STRING) ->columnName('role_name') ->length(256) ->nullable(false) ->build(); $builder->createField('meta', Types::JSON) ->columnName('meta') ->nullable(false) ->build(); $builder->createManyToOne('apiKey', ApiKey::class) ->addJoinColumn('api_key_id', 'id', false, false, 'CASCADE') ->cascadePersist() ->build(); $builder->addUniqueConstraint(['role_name', 'api_key_id'], 'UQ_role_plus_api_key'); };