List of usage examples for org.hibernate.tool.hbm2ddl SchemaExport setDelimiter
public SchemaExport setDelimiter(String delimiter)
From source file:org.olat.core.commons.persistence.DatabaseSetup.java
License:Apache License
/** * Write database configuration to file. Includes differences to existing database. Filename: "database/setupDatabase.sql" *//*from w w w. ja v a 2s . co m*/ private static void exportDDLtoFile() { String outputFile = "database/setupDatabase.sql"; boolean script = true; // write DDL boolean export = false; // don't update databse try { SchemaExport se = new SchemaExport(cf); se.setOutputFile(outputFile); se.setDelimiter(";"); se.create(script, export); } catch (Exception e) { log.error("DDL export to file failed: Reason: ", e); } }
From source file:org.openbp.server.persistence.hibernate.HibernateDDLGenerator.java
License:Apache License
/** * Generates the DDL files.//from ww w . j a va 2s .com */ public void generate() { ProcessServer processServer = new ProcessServerFactory().createProcessServer(); PersistenceContextProvider provider = processServer.getEngine().getPersistenceContextProvider(); if (provider == null) { String msg = LogUtil.error(getClass(), "No persistence context provider configured."); System.err.println(msg); System.exit(1); return; } if (!(provider instanceof HibernatePersistenceContextProvider)) { String msg = LogUtil.error(getClass(), "Configured persistence context provider no no Hibernate provider (class $0).", provider.getClass().getName()); System.err.println(msg); System.exit(1); return; } Configuration configuration = ((HibernatePersistenceContextProvider) provider) .createHibernateConfiguration(); if (dialect != null) { String adapterClassName = null; if (dialect.indexOf('.') >= 0) { adapterClassName = dialect; } else { adapterClassName = "org.hibernate.dialect." + dialect + "Dialect"; } configuration.setProperty("hibernate.dialect", adapterClassName); } SchemaExport se = new SchemaExport(configuration); se.setFormat(true); se.setDelimiter(";"); String outputFile; if ((outputFile = prepareOutputFile(getDdlCreateFileName())) != null) { se.setOutputFile(outputFile); se.execute(false, false, false, true); } if ((outputFile = prepareOutputFile(getDdlDropFileName())) != null) { se.setOutputFile(outputFile); se.execute(false, false, true, false); } }
From source file:org.opentides.persistence.hibernate.MultiTenantSchemaUpdate.java
License:Apache License
/** * This is the helper function that initializes the schema and tables. * Initialization is as follows: //from w w w . j ava 2 s . co m * (1) Get the latest initialization sql script. Execute the sql script. * (2) If there is no initialization script, use the hibernate SchemaExport. * * @param tenantId */ private void initializeSchema(Configuration cfg, Connection connection, String schema) { // check if there SQL file under the sslScript folder boolean initialized = false; if (ddlScript != null && ddlScript.exists()) { _log.info("Initializing schema [" + schema + "] using DDL script [" + ddlScript.getFilename() + "]."); InputStream inputStream = null; try { inputStream = ddlScript.getInputStream(); Scanner f = new Scanner(inputStream); StringBuilder stmt = new StringBuilder(); while (f.hasNext()) { String line = f.nextLine(); // ignore comment if (line.startsWith("--")) continue; stmt.append(" ").append(line); if (line.endsWith(";")) { // end of statement, execute then clear connection.createStatement().execute(stmt.toString()); System.out.println(stmt.toString()); stmt.setLength(0); } } f.close(); initialized = true; } catch (SQLException e) { _log.error("Failed to execute sql script for initialization", e); } catch (IOException e) { _log.error("Failed to read sql script for initialization", e); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { } } } } if (!initialized) { _log.info("Initializing schema [" + schema + "] using SchemaExport. "); SchemaExport export = new SchemaExport(cfg, connection); if (this.logDdl) { String dir = ddlLogs + "/" + DateUtil.convertShortDate(new Date()); _log.info("DDL logs can be found in " + dir + "/schema-" + schema + ".sql"); FileUtil.createDirectory(dir); export.setOutputFile(dir + "/schema-" + schema + ".sql"); export.setDelimiter(";"); } export.execute(this.logDdl, true, false, true); } }
From source file:org.spliffy.server.db.utils.SchemaExporter.java
License:Open Source License
/** * Method that actually creates the file. * * @param dbDialect to use//from w w w . j a va 2 s .co m */ public void generate() throws Exception { if (!outputDir.exists()) { outputDir.mkdirs(); } AnnotationConfiguration cfg; cfg = new AnnotationConfiguration(); cfg.setProperty("hibernate.hbm2ddl.auto", "create"); cfg.setNamingStrategy(new org.hibernate.cfg.ImprovedNamingStrategy()); for (Class<Object> clazz : getClasses(packageName)) { cfg.addAnnotatedClass(clazz); } for (Dialect d : Dialect.values()) { cfg.setProperty("hibernate.dialect", d.getDialectClass()); SchemaExport export = new SchemaExport(cfg); export.setDelimiter(";"); File fOut = new File(outputDir, d.name().toLowerCase() + ".sql"); export.setOutputFile(fOut.getAbsolutePath()); export.execute(true, false, false, false); } }
From source file:org.springframework.cloud.dataflow.server.repository.SchemaGenerationTests.java
License:Apache License
private void generateDdlFiles(String dialect, File tempDir, PersistenceUnitInfo persistenceUnitInfo) { logger.info("Generating DDL script for " + dialect); final MetadataSources metadata = new MetadataSources(new StandardServiceRegistryBuilder() .applySetting("hibernate.dialect", "org.hibernate.dialect." + dialect + "Dialect") .applySetting("hibernate.physical_naming_strategy", SpringPhysicalNamingStrategy.class.getName()) .applySetting("hibernate.implicit_naming_strategy", SpringImplicitNamingStrategy.class.getName()) .build());/* w w w . j a v a 2 s. co m*/ for (String clazz : persistenceUnitInfo.getManagedClassNames()) { logger.info(clazz); metadata.addAnnotatedClassName(clazz); } final SchemaExport export; try { export = new SchemaExport(); export.setDelimiter(";"); export.setFormat(true); export.setOutputFile(new File(tempDir, "schema-" + dialect.toLowerCase() + ".sql").getAbsolutePath()); } catch (HibernateException e) { throw new IllegalStateException(e); } EnumSet<TargetType> targetTypes = EnumSet.of(TargetType.SCRIPT); export.execute(targetTypes, SchemaExport.Action.BOTH, metadata.buildMetadata()); }
From source file:org.transitime.applications.SchemaGenerator.java
License:Open Source License
/** * Method that actually creates the file. * //from w ww. j a v a 2 s.c om * @param dbDialect to use */ private void generate(Dialect dialect) { cfg.setProperty("hibernate.dialect", dialect.getDialectClass()); SchemaExport export = new SchemaExport(cfg); export.setDelimiter(";"); // Determine file name. Use "ddl_" plus dialect name such as mysql or // oracle plus the package name with "_" replacing "." such as // org_transitime_db_structs . String packeNameSuffix = packageName.replace(".", "_"); String outputFilename = (outputDirectory != null ? outputDirectory + "/" : "") + "ddl_" + dialect.name().toLowerCase() + "_" + packeNameSuffix + ".sql"; export.setOutputFile(outputFilename); // Export, but only to an SQL file. Don't actually modify the database System.out.println("Writing file " + outputFilename); export.execute(true, false, false, false); // Get rid of unneeded SQL for dropping tables and keys and such trimCruftFromFile(outputFilename); }
From source file:org.wise.util.DBInitExporter.java
License:Open Source License
/** * Exports schema definitions to the specified outputFilename. * @param springConfigClassname Spring configuration file * @param outputFilename output file/* w w w . ja v a 2s.c o m*/ */ public static void exportSchemaToFile(String springConfigClassname, String outputFilename) throws ClassNotFoundException, IOException { ConfigurableApplicationContext applicationContext = null; try { SpringConfiguration springConfig = (SpringConfiguration) BeanUtils .instantiateClass(Class.forName(springConfigClassname)); applicationContext = new ClassPathXmlApplicationContext( springConfig.getRootApplicationContextConfigLocations()); final boolean printScriptToConsole = false, exportScriptToDb = false, justDrop = false, justCreate = true; final SchemaExport schemaExport = new SchemaExport(MetadataProvider.getMetadata()); schemaExport.setDelimiter(";").setFormat(true).setHaltOnError(true).setOutputFile(outputFilename); schemaExport.execute(printScriptToConsole, exportScriptToDb, justDrop, justCreate); // now append initial data, which we read in from import.sql File initialDataFile = new File("src/main/resources/import.sql"); FileInputStream initialDataFileInputStream = new FileInputStream(initialDataFile); BufferedReader initialDataFileReader = new BufferedReader( new InputStreamReader(initialDataFileInputStream)); boolean doAppend = true; BufferedWriter outputFileWriter = new BufferedWriter(new FileWriter(outputFilename, doAppend)); String aLine; while ((aLine = initialDataFileReader.readLine()) != null) { // Process each line and add append to output file, unless it's a hsqldb-specific line if (!aLine.contains("SET DATABASE REFERENTIAL INTEGRITY")) { outputFileWriter.write(aLine); outputFileWriter.newLine(); } } initialDataFileReader.close(); // close the buffer reader outputFileWriter.close(); // close buffer writer } finally { if (applicationContext != null) { applicationContext.close(); } } }
From source file:persistence.DBUtility.java
public static void schemaExport() { Configuration config = new Configuration().configure("hibernate.cfg.xml"); SchemaExport exporter = new SchemaExport(config); exporter.setDelimiter(";"); exporter.setOutputFile("pentamatrix-2.sql"); exporter.execute(Target.EXPORT, SchemaExport.Type.BOTH); }
From source file:QueryStore.HibernateSchemaGenerator.java
License:Apache License
public static void main(String[] args) { Configuration config = new Configuration(); //don't forget to get the right dialect for Oracle, MySQL, etc config.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect"); config.addAnnotatedClass(Query.class); config.addAnnotatedClass(Filter.class); config.addAnnotatedClass(Sorting.class); SchemaExport export = new EnversSchemaGenerator(config).export() .setOutputFile("QueryStore/additional_configuration/Query-Hibernate-schema.sql"); export.setDelimiter(";"); export.execute(true, false, false, false); }
From source file:ru.appliedtech.storage.hibernate.DDLGeneratorUtil.java
License:Open Source License
public static void execute(String dialectClassName, String packageName, String outputFilePath) { Configuration configuration = new Configuration(); configuration.addPackage(packageName); configuration.setProperty(Environment.DIALECT, dialectClassName); Collection<Class<? extends Object>> classes = getPackageClasses(packageName); for (Class<?> entityClass : classes) { configuration.addAnnotatedClass(entityClass); }/*w w w . j a v a2 s . c o m*/ SchemaExport schemaExport = new SchemaExport(configuration); schemaExport.setDelimiter(";"); schemaExport.setOutputFile(outputFilePath); schemaExport.create(true, false); }