JBossでは、アプリがデプロイされたときにimport.sqlを実行できます。
Glassfishで達成できますか?また、バージョンごとにいくつかのスクリプトを追加できますか?たとえば、バージョン2.5では、この特定のユーザーレコードを追加します。
私は現在DBMigrationとLiquiBaseを見ていますが、他に何か提案はありますか?または、2つのうちどちらが経験に基づいて信頼できるものですか?
ありがとう、
czetsuya
JBossでは、アプリがデプロイされたときにimport.sqlを実行できます。
Glassfishで達成できますか?また、バージョンごとにいくつかのスクリプトを追加できますか?たとえば、バージョン2.5では、この特定のユーザーレコードを追加します。
私は現在DBMigrationとLiquiBaseを見ていますが、他に何か提案はありますか?または、2つのうちどちらが経験に基づいて信頼できるものですか?
ありがとう、
czetsuya
残念ながら、数日間の調査の結果、Glassfishでは同じ機能を実現できないと思います。代わりに、@ PostConstructメソッドを使用して@Startup、@ Singleton注釈付きBeanを作成し、Glassfishの起動時にデータベーステーブルの行を作成することもできます。
@Singleton
@Startup
public class InitData {
@Inject
private Logger log;
@PersistenceContext
private EntityManager em;
@PostConstruct
private void init() {
log.debug("[dropship-ejb] init data");
@SuppressWarnings("unchecked")
List<Role> roles = em.createQuery("FROM Role r").getResultList();
if (roles == null || roles.size() == 0)
initData();
}
private void initData() {
// insert roles
createRole("member", "Member");
createRole("affiliate", "Affiliate");
createRole("backend", "Backend");
createRole("admin", "Administrator");
}
private Role createRole(String name, String description) {
Role r = new Role();
r.setName(name);
r.setDescription(description);
em.persist(r);
return r;
}
}