improve: generate active_record model