def test_drop_timestamps(self): blueprint = Blueprint('users') blueprint.drop_timestamps() statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('ALTER TABLE `users` DROP `created_at`, DROP `updated_at`', statements[0])
def test_drop_table(self): blueprint = Blueprint('users') blueprint.drop() statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('DROP TABLE `users`', statements[0])
def test_drop_primary(self): blueprint = Blueprint('users') blueprint.drop_primary('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('ALTER TABLE `users` DROP PRIMARY KEY', statements[0])
def test_drop_foreign(self): blueprint = Blueprint('users') blueprint.drop_foreign('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('ALTER TABLE `users` DROP FOREIGN KEY foo', statements[0])
def test_adding_primary_key(self): blueprint = Blueprint('users') blueprint.primary('foo', 'bar') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('ALTER TABLE `users` ADD PRIMARY KEY bar(`foo`)', statements[0])
def test_rename_table(self): blueprint = Blueprint('users') blueprint.rename('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('RENAME TABLE `users` TO `foo`', statements[0])
def test_drop_index(self): blueprint = Blueprint('users') blueprint.drop_index('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('DROP INDEX foo', statements[0])
def test_drop_table_if_exists(self): blueprint = Blueprint('users') blueprint.drop_if_exists() statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('DROP TABLE IF EXISTS "users"', statements[0])
def test_adding_index(self): blueprint = Blueprint('users') blueprint.index('foo', 'bar') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('CREATE INDEX bar ON "users" ("foo")', statements[0])
def test_drop_unique(self): blueprint = Blueprint('users') blueprint.drop_unique('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('ALTER TABLE "users" DROP CONSTRAINT foo', statements[0])
def test_adding_binary(self): blueprint = Blueprint('users') blueprint.binary('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('ALTER TABLE "users" ADD COLUMN "foo" BLOB NOT NULL', statements[0])
def test_adding_double(self): blueprint = Blueprint('users') blueprint.double('foo', 15, 8) statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual('ALTER TABLE "users" ADD COLUMN "foo" FLOAT NOT NULL', statements[0])
def test_adding_float(self): blueprint = Blueprint('users') blueprint.float('foo', 5, 2) statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE "users" ADD COLUMN "foo" DOUBLE PRECISION NOT NULL', statements[0])
def test_adding_enum(self): blueprint = Blueprint('users') blueprint.enum('foo', ['bar', 'baz']) statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE "users" ADD COLUMN "foo" VARCHAR NOT NULL', statements[0])
def test_adding_decimal(self): blueprint = Blueprint('users') blueprint.decimal('foo', 5, 2) statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE "users" ADD COLUMN "foo" NUMERIC NOT NULL', statements[0])
def test_adding_small_integer(self): blueprint = Blueprint('users') blueprint.integer('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE "users" ADD COLUMN "foo" INTEGER NOT NULL', statements[0])
def test_adding_big_incrementing_id(self): blueprint = Blueprint('users') blueprint.big_increments('id') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE "users" ADD COLUMN "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT', statements[0])
def test_adding_unique_key(self): blueprint = Blueprint('users') blueprint.unique('foo', 'bar') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE "users" ADD CONSTRAINT bar UNIQUE ("foo")', statements[0])
def test_adding_timestamp(self): blueprint = Blueprint('users') blueprint.timestamp('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE "users" ADD COLUMN "foo" TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL', statements[0])
def test_adding_datetime(self): blueprint = Blueprint('users') blueprint.datetime('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD `foo` DATETIME NOT NULL', statements[0] )
def test_adding_timestamp(self): blueprint = Blueprint('users') blueprint.timestamp('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD `foo` TIMESTAMP DEFAULT 0 NOT NULL', statements[0] )
def test_adding_boolean(self): blueprint = Blueprint('users') blueprint.boolean('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD `foo` TINYINT(1) NOT NULL', statements[0] )
def test_adding_enum(self): blueprint = Blueprint('users') blueprint.enum('foo', ['bar', 'baz']) statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD `foo` ENUM(\'bar\', \'baz\') NOT NULL', statements[0] )
def test_adding_double_with_precision(self): blueprint = Blueprint('users') blueprint.double('foo', 15, 8) statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD `foo` DOUBLE(15, 8) NOT NULL', statements[0] )
def test_adding_decimal(self): blueprint = Blueprint('users') blueprint.decimal('foo', 5, 2) statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD `foo` DECIMAL(5, 2) NOT NULL', statements[0] )
def test_adding_big_incrementing_id(self): blueprint = Blueprint('users') blueprint.big_increments('id') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY', statements[0] )
def test_adding_index(self): blueprint = Blueprint('users') blueprint.index(['foo', 'bar'], 'baz') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD INDEX baz(`foo`, `bar`)', statements[0] )
def test_adding_unique_key(self): blueprint = Blueprint('users') blueprint.unique('foo', 'bar') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD UNIQUE bar(`foo`)', statements[0] )
def test_adding_column_after_another(self): blueprint = Blueprint('users') blueprint.string('name').after('foo') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'ALTER TABLE `users` ADD `name` VARCHAR(255) NOT NULL AFTER `foo`', statements[0] )
def test_adding_foreign_key(self): blueprint = Blueprint('users') blueprint.foreign('order_id').references('id').on('orders') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) expected = [ 'ALTER TABLE `users` ADD CONSTRAINT users_order_id_foreign ' 'FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`)' ] self.assertEqual(expected, statements)