首页 > 解决方案 > hibernate 不在空数据库上创建模式

问题描述

我有以下 hibernate.cfg.xml 文件

在此处输入图像描述

问题是,当我运行迁移时,数据库中没有创建架构。我想从头开始创建架构。它只生成 script.sql 文件。

这是我的主要应用程序文件

public class DatabaseMigration {


    public static void main(String[] args){

        StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure("/META-INF/hibernate.cfg.xml").build();
        Metadata meta = new MetadataSources(ssr).getMetadataBuilder().build();

        SchemaExport schemaExport = new SchemaExport();
        schemaExport.setHaltOnError(true);
        schemaExport.setFormat(true);
        schemaExport.setDelimiter(";");
        schemaExport.setOutputFile("db-schema.sql");
        schemaExport.createOnly(EnumSet.of(TargetType.SCRIPT), meta);
}
}

标签: javamysqlspring-boothibernatehibernate-mapping

解决方案


谢谢各位,我发现了错误。

schemaExport.createOnly(EnumSet.of(TargetType.SCRIPT), meta); 是问题所在

目标仅指定 SCRIPT。

我已将其替换为 DATABASE 并且可以正常工作。


推荐阅读