public void setDatabasePlatform(DatabasePlatform databasePlatform) { this.databasePlatform = databasePlatform; this.maxConstraintNameLength = databasePlatform.getDbDdlSyntax().getMaxConstraintNameLength(); logger.finer("Using maxConstraintNameLength of " + maxConstraintNameLength); }
public HsqldbPlatform(){ super(); this.name = "hsqldb"; this.dbEncrypt = new H2DbEncrypt(); // only support getGeneratedKeys with non-batch JDBC // so generally use SEQUENCE instead of IDENTITY for H2 boolean useIdentity = GlobalProperties.getBoolean("ebean.hsqldb.useIdentity", true); IdType idType = useIdentity ? IdType.IDENTITY : IdType.SEQUENCE; this.dbIdentity.setIdType(idType); this.dbIdentity.setSupportsGetGeneratedKeys(true); this.dbIdentity.setSupportsSequence(true); this.dbIdentity.setSupportsIdentity(true); this.openQuote = "\""; this.closeQuote = "\""; // H2 data types match default JDBC types // so no changes to dbTypeMap required dbTypeMap.put(Types.INTEGER, new DbType("integer",false)); this.dbDdlSyntax.setDropIfExists("if exists"); this.dbDdlSyntax.setDisableReferentialIntegrity("SET DATABASE REFERENTIAL INTEGRITY FALSE"); this.dbDdlSyntax.setEnableReferentialIntegrity("SET DATABASE REFERENTIAL INTEGRITY TRUE"); this.dbDdlSyntax.setForeignKeySuffix("on delete restrict on update restrict"); this.dbDdlSyntax.setIdentity("GENERATED BY DEFAULT AS IDENTITY (START WITH 1) "); }
public String getForeignKeyName(String table, String propName, int fkCount) { StringBuilder buffer = new StringBuilder(); buffer.append("fk_"); buffer.append(table); buffer.append("_"); buffer.append(propName); addSuffix(buffer, fkCount); return buffer.toString(); }
public SQLitePlatform() { super(); this.name = "sqlite"; this.dbIdentity.setIdType(IdType.IDENTITY); this.dbIdentity.setSupportsGetGeneratedKeys(false); this.dbIdentity.setSelectLastInsertedIdTemplate("select last_insert_rowid()"); this.openQuote = "\""; this.closeQuote = "\""; this.booleanDbType = Types.INTEGER; dbTypeMap.put(Types.BIT, new DbType("int default 0")); dbTypeMap.put(Types.BOOLEAN, new DbType("int default 0")); dbDdlSyntax.setInlinePrimaryKeyConstraint(true); dbDdlSyntax.setIdentity("AUTOINCREMENT"); dbDdlSyntax.setDisableReferentialIntegrity("PRAGMA foreign_keys = OFF"); dbDdlSyntax.setEnableReferentialIntegrity("PRAGMA foreign_keys = ON"); }
protected void writeDropTable(String tableName){ ctx.write("drop table "); if (ddlSyntax.getDropIfExists() != null){ ctx.write(ddlSyntax.getDropIfExists()).write(" "); } ctx.write(tableName); if (ddlSyntax.getDropTableCascade() != null){ ctx.write(" ").write(ddlSyntax.getDropTableCascade()); } ctx.write(";").writeNewLine().writeNewLine(); }
String fkName = ctx.getDdlSyntax().getForeignKeyName(tableName, p.getName(), ctx.incrementFkCount()); String fkeySuffix = ctx.getDdlSyntax().getForeignKeySuffix(); if (fkeySuffix != null){ ctx.write(" ").write(fkeySuffix); if (ctx.getDdlSyntax().isRenderIndexForFkey()){ String idxName = ctx.getDdlSyntax().getIndexName(tableName, p.getName(), ctx.incrementIxCount()); if (idxName != null){ ctx.write(idxName);
dbDdlSyntax.setDropTableCascade("cascade constraints purge"); dbDdlSyntax.setIdentity(null); dbDdlSyntax.setMaxConstraintNameLength(30);
public void configureDbConfig(ServerConfig config) { Validate.notNull(config, "Config cannot be null"); DataSourceConfig ds = new DataSourceConfig(); ds.setDriver("org.sqlite.JDBC"); ds.setUrl("jdbc:sqlite:{DIR}{NAME}.db"); ds.setUsername("bukkit"); ds.setPassword("walrus"); ds.setIsolationLevel(TransactionIsolation.getLevel("SERIALIZABLE")); if (ds.getDriver().contains("sqlite")) { config.setDatabasePlatform(new SQLitePlatform()); config.getDatabasePlatform().getDbDdlSyntax().setIdentity(""); } config.setDataSourceConfig(ds); }
public CreateTableVisitor(DdlGenContext ctx) { this.ctx = ctx; this.ddl = ctx.getDdlSyntax(); this.columnNameWidth = ddl.getColumnNameWidth(); this.pv = new CreateTableColumnVisitor(this, ctx); }
public void visitBegin() { if (ddlSyntax.getDisableReferentialIntegrity() != null){ ctx.write(ddlSyntax.getDisableReferentialIntegrity()); ctx.write(";").writeNewLine().writeNewLine(); } }
public void visitEnd() { if (ddlSyntax.getEnableReferentialIntegrity() != null){ ctx.write(ddlSyntax.getEnableReferentialIntegrity()); ctx.write(";").writeNewLine().writeNewLine(); } }
public boolean visitBean(BeanDescriptor<?> descriptor) { if (!descriptor.isInheritanceRoot()){ return false; } if (descriptor.getSequenceName() != null) { if (!supportsSequence){ // Hopefully a generic test case String msg = "Not dropping sequence "+descriptor.getSequenceName()+" on Bean "+descriptor.getName() +" as DatabasePlatform does not support sequences"; logger.finer(msg); return false; } ctx.write("drop sequence "); if (ddlSyntax.getDropIfExists() != null){ ctx.write(ddlSyntax.getDropIfExists()).write(" "); } ctx.write(descriptor.getSequenceName()); ctx.write(";").writeNewLine().writeNewLine(); } return true; }
String fkeySuffix = ctx.getDdlSyntax().getForeignKeySuffix(); if (fkeySuffix != null){ fkBuf.append(" ");
public SQLitePlatform(){ super(); this.name = "sqlite"; this.dbIdentity.setIdType(IdType.IDENTITY); this.dbIdentity.setSupportsGetGeneratedKeys(false); this.dbIdentity.setSelectLastInsertedIdTemplate("select last_insert_rowid()"); this.openQuote = "\""; this.closeQuote = "\""; this.booleanDbType = Types.INTEGER; dbTypeMap.put(Types.BIT, new DbType("int default 0")); dbTypeMap.put(Types.BOOLEAN, new DbType("int default 0")); dbDdlSyntax.setInlinePrimaryKeyConstraint(true); dbDdlSyntax.setIdentity("AUTOINCREMENT"); dbDdlSyntax.setDisableReferentialIntegrity("PRAGMA foreign_keys = OFF"); dbDdlSyntax.setEnableReferentialIntegrity("PRAGMA foreign_keys = ON"); }
String fkName = ctx.getDdlSyntax().getForeignKeyName(tableName, p.getName(), ctx.incrementFkCount()); String fkeySuffix = ctx.getDdlSyntax().getForeignKeySuffix(); if (fkeySuffix != null){ ctx.write(" ").write(fkeySuffix); if (ctx.getDdlSyntax().isRenderIndexForFkey()){ String idxName = ctx.getDdlSyntax().getIndexName(tableName, p.getName(), ctx.incrementIxCount()); if (idxName != null){ ctx.write(idxName);
dbDdlSyntax.setDropTableCascade("cascade constraints purge"); dbDdlSyntax.setIdentity(null); dbDdlSyntax.setMaxConstraintNameLength(30);
public DB2Platform() { super(); this.name = "db2"; // only support getGeneratedKeys with non-batch JDBC // so generally use SEQUENCE instead for H2 this.dbIdentity.setSupportsGetGeneratedKeys(true); this.dbIdentity.setIdType(IdType.IDENTITY); this.dbIdentity.setSupportsSequence(true); this.openQuote = "\""; this.closeQuote = "\""; booleanDbType = Types.INTEGER; dbTypeMap.put(Types.BOOLEAN, new DbType("smallint default 0")); dbTypeMap.put(Types.INTEGER, new DbType("integer")); dbTypeMap.put(Types.BIGINT, new DbType("bigint")); dbTypeMap.put(Types.REAL, new DbType("float")); dbTypeMap.put(Types.DOUBLE, new DbType("float")); dbTypeMap.put(Types.SMALLINT, new DbType("smallint")); dbTypeMap.put(Types.TINYINT, new DbType("smallint")); dbTypeMap.put(Types.DECIMAL, new DbType("decimal", 15)); this.dbDdlSyntax.setIdentity("generated by default as identity"); // this.dbDdlSyntax.setDropIfExists("if exists"); // this.dbDdlSyntax.setDisableReferentialIntegrity("SET REFERENTIAL_INTEGRITY FALSE"); // this.dbDdlSyntax.setEnableReferentialIntegrity("SET REFERENTIAL_INTEGRITY TRUE"); // this.dbDdlSyntax.setForeignKeySuffix("on delete restrict on update restrict"); }
protected void writeDropTable(String tableName){ ctx.write("drop table "); if (ddlSyntax.getDropIfExists() != null){ ctx.write(ddlSyntax.getDropIfExists()).write(" "); } ctx.write(tableName); if (ddlSyntax.getDropTableCascade() != null){ ctx.write(" ").write(ddlSyntax.getDropTableCascade()); } ctx.write(";").writeNewLine().writeNewLine(); }
public CreateTableVisitor(DdlGenContext ctx) { this.ctx = ctx; this.ddl = ctx.getDdlSyntax(); this.columnNameWidth = ddl.getColumnNameWidth(); this.pv = new CreateTableColumnVisitor(this, ctx); }
public void visitBegin() { if (ddlSyntax.getDisableReferentialIntegrity() != null){ ctx.write(ddlSyntax.getDisableReferentialIntegrity()); ctx.write(";").writeNewLine().writeNewLine(); } }