Skip to content

Floor compatibility #1131

@ryanheise

Description

@ryanheise

Is your feature request related to a problem? Please describe.

In a past issue, @rrousselGit provided an example of how to integrate with Floor:

#314 (comment)

@freezed
abstract class MyTable with _$MyTable {
  @Entity()
  factory MyTable(String id) = Table
}

@Database(entities: [      Table    ])
abstract class AppDatabase extends FloorDatabase { ... }

At the time, this solution worked because the generated class Table was concrete as required by Floor. At some point after that, the generator was changed to produce Table as an abstract class, and this broke compatibility with Floor.

Describe the solution you'd like

A way to name and annotate a concrete data class. The stable release date of macros is unknown but it looks like it won't arrive until next year, so until then it would be nice to have an option similar to the old approach.

Describe alternatives you've considered

One workaround is mentioned in #314 although it involves manually writing a mirror constructor for Floor which adds to the maintenance burden.

Additional context

None

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestquestionFurther information is requested

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions