0

I have a problem with foreign key action in Active Android. Please look at this code:

@Table(name = "Dealers", id = BaseColumns._ID)
public class Dealer extends Model implements Serializable {
    @Column
    public String name;
}

@Table(name = "Users", id = BaseColumns._ID)
public class User extends Model implements Serializable {
    @Column()
    public String email;

    @Column(name = "dealer", onDelete = Column.ForeignKeyAction.SET_NULL)
    public Dealer dealer;
}

new Delete().from(Dealer.class).execute();
User user = new Select().from(User.class).executeSingle();

if (user != null && user.dealer != null) {
    Log.e("ActiveAndroid", "BUG");
}

I don't have any idea why dealer field in user table is not deleted when all dealers are deleted.

Tomasz
  • 1,406
  • 1
  • 18
  • 28

1 Answers1

2

This is a known bug. You can either stop using id = BaseColumns._ID or wait until one of the pull-requests #261 or #251 will be merged.

Loxley
  • 1,781
  • 17
  • 20