@Test public void generateSqlType_for_MsSql() { assertThat(underTest.generateSqlType(new MsSql())).isEqualTo("VARBINARY(MAX)"); }
@Test public void generateSqlType_for_MsSql() { assertThat(underTest.generateSqlType(new MsSql())).isEqualTo("INT"); }
@Test public void generate_sql_type_on_mssql() { assertThat(underTest.generateSqlType(new MsSql())).isEqualTo("NVARCHAR (MAX)"); }
@Test public void drop_tables_on_mssql() { assertThat(new DropTableBuilder(new MsSql(), "issues") .build()).containsOnly("drop table issues"); }
@Test public void drop_columns_on_mssql() { assertThat(new DropColumnsBuilder(new MsSql(), "issues", "date_in_ms", "name").build()) .containsOnly("ALTER TABLE issues DROP COLUMN date_in_ms, name"); }
@Test public void when_SQ_is_connected_to_MsSql_an_ISE_should_NOT_be_thrown() { when(database.getDialect()).thenReturn(new MsSql()); underTest.start(); }
@Test public void add_columns_on_mssql() { assertThat(createSampleBuilder(new MsSql()).build()) .isEqualTo("ALTER TABLE issues ADD date_in_ms BIGINT NULL, name NVARCHAR (10) NOT NULL, col_with_default BIT DEFAULT 0 NOT NULL, varchar_col_with_default NVARCHAR (3) DEFAULT 'foo' NOT NULL"); }
@Test public void rename_table_on_mssql() { verifySql(new MsSql(), "EXEC sp_rename 'foo', 'bar'"); }
@Test public void start_runs_MigrationEngine_on_MsSQL_if_fresh_install() { start_runs_MigrationEngine_for_dialect_if_fresh_install(new MsSql()); }
@Test public void getHandler_returns_MssqlCharsetHandler_if_mssql() { assertThat(underTest.getHandler(new MsSql())).isInstanceOf(MssqlCharsetHandler.class); }
@Test public void update_columns_on_mssql() { assertThat(createSampleBuilder(new MsSql()).build()) .containsOnly( "ALTER TABLE issues ALTER COLUMN value DECIMAL (30,20) NULL", "ALTER TABLE issues ALTER COLUMN name NVARCHAR (10) NULL"); }
@Test public void update_not_nullable_column_on_mssql() { assertThat(createNotNullableBuilder(new MsSql()).build()) .containsOnly("ALTER TABLE issues ALTER COLUMN name NVARCHAR (10) NOT NULL"); }
@Test public void generate_sql_type() { TimestampColumnDef def = newTimestampColumnDefBuilder() .setColumnName("created_at") .build(); assertThat(def.generateSqlType(new H2())).isEqualTo("TIMESTAMP"); assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("TIMESTAMP"); assertThat(def.generateSqlType(new MsSql())).isEqualTo("DATETIME"); assertThat(def.generateSqlType(new MySql())).isEqualTo("DATETIME"); assertThat(def.generateSqlType(new Oracle())).isEqualTo("TIMESTAMP (6)"); }
@Test public void generate_sql_type() { BigIntegerColumnDef def = new BigIntegerColumnDef.Builder() .setColumnName("issues") .setIsNullable(true) .build(); assertThat(def.generateSqlType(new H2())).isEqualTo("BIGINT"); assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("BIGINT"); assertThat(def.generateSqlType(new MsSql())).isEqualTo("BIGINT"); assertThat(def.generateSqlType(new MySql())).isEqualTo("BIGINT"); assertThat(def.generateSqlType(new Oracle())).isEqualTo("NUMBER (38)"); }
@Test public void generate_sql_type() { TinyIntColumnDef def = new TinyIntColumnDef.Builder() .setColumnName("foo") .setIsNullable(true) .build(); assertThat(def.generateSqlType(new H2())).isEqualTo("TINYINT"); assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("SMALLINT"); assertThat(def.generateSqlType(new MsSql())).isEqualTo("TINYINT"); assertThat(def.generateSqlType(new MySql())).isEqualTo("TINYINT(2)"); assertThat(def.generateSqlType(new Oracle())).isEqualTo("NUMBER(3)"); }
@Test public void generate_sql_type() { BooleanColumnDef def = new BooleanColumnDef.Builder() .setColumnName("enabled") .setIsNullable(true) .build(); assertThat(def.generateSqlType(new H2())).isEqualTo("BOOLEAN"); assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("BOOLEAN"); assertThat(def.generateSqlType(new MsSql())).isEqualTo("BIT"); assertThat(def.generateSqlType(new MySql())).isEqualTo("TINYINT(1)"); assertThat(def.generateSqlType(new Oracle())).isEqualTo("NUMBER(1)"); }
@Test public void generate_sql_type() { VarcharColumnDef def = new VarcharColumnDef.Builder() .setColumnName("issues") .setLimit(10) .setIsNullable(true) .build(); assertThat(def.generateSqlType(new H2())).isEqualTo("VARCHAR (10)"); assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("VARCHAR (10)"); assertThat(def.generateSqlType(new MySql())).isEqualTo("VARCHAR (10)"); assertThat(def.generateSqlType(new MsSql())).isEqualTo("NVARCHAR (10)"); assertThat(def.generateSqlType(new Oracle())).isEqualTo("VARCHAR2 (10 CHAR)"); }
@Test public void generate_sql_type() { DecimalColumnDef def = new DecimalColumnDef.Builder() .setColumnName("issues") .setPrecision(30) .setScale(20) .setIsNullable(true) .build(); assertThat(def.generateSqlType(new H2())).isEqualTo("DOUBLE"); assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("NUMERIC (30,20)"); assertThat(def.generateSqlType(new MsSql())).isEqualTo("DECIMAL (30,20)"); assertThat(def.generateSqlType(new MySql())).isEqualTo("DECIMAL (30,20)"); assertThat(def.generateSqlType(new Oracle())).isEqualTo("NUMERIC (30,20)"); }
@Test public void index_length_is_not_specified_on_big_varchar_columns_if_not_mysql() { Arrays.<Dialect>asList(new H2(), new MsSql(), new PostgreSql(), new Oracle()) .forEach(dialect -> verifySql(new CreateIndexBuilder(dialect) .setTable("issues") .setName("issues_key") .addColumn(newVarcharColumnDefBuilder().setColumnName("kee").setLimit(4000).build()), "CREATE INDEX issues_key ON issues (kee)")); }
@Test public void drop_index_in_table() { verifySql(new H2(), "DROP INDEX IF EXISTS issues_key"); verifySql(new MsSql(), "DROP INDEX issues_key ON issues"); verifySql(new MySql(), "DROP INDEX issues_key ON issues"); verifySql(new Oracle(), "DROP INDEX issues_key"); verifySql(new PostgreSql(), "DROP INDEX IF EXISTS issues_key"); }