There is no guarantee that the method will not raise a database error on the first registration because it can rely on other tables being registered. So the method must be called only when needed. This is when the table already exists and has records. In this case other tables also already exist. issue6409