change migrate to run once at app launch