def test_basic_create(self): blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE "users" ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "email" VARCHAR NOT NULL)', statements[0]) blueprint = Blueprint('users') blueprint.increments('id') blueprint.string('email') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(2, len(statements)) expected = [ 'ALTER TABLE "users" ADD COLUMN "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT', 'ALTER TABLE "users" ADD COLUMN "email" VARCHAR NOT NULL' ] self.assertEqual(expected, statements)
def test_basic_create(self): blueprint = Blueprint("users") blueprint.create() blueprint.increments("id") blueprint.string("email") statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE "users" ("id" SERIAL PRIMARY KEY NOT NULL, "email" VARCHAR(255) NOT NULL)', statements[0], ) blueprint = Blueprint("users") blueprint.increments("id") blueprint.string("email") statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) expected = [ 'ALTER TABLE "users" ADD COLUMN "id" SERIAL PRIMARY KEY NOT NULL, ' 'ADD COLUMN "email" VARCHAR(255) NOT NULL' ] self.assertEqual(expected[0], statements[0])
def test_adding_foreign_key(self): blueprint = Blueprint('users') blueprint.create() blueprint.string('foo').primary() blueprint.string('order_id') blueprint.foreign('order_id').references('id').on('orders') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) expected = 'CREATE TABLE "users" ("foo" VARCHAR NOT NULL, "order_id" VARCHAR NOT NULL, ' \ 'FOREIGN KEY("order_id") REFERENCES "orders"("id"), PRIMARY KEY ("foo"))' self.assertEqual(expected, statements[0])
def test_adding_foreign_key(self): blueprint = Blueprint('users') blueprint.create() blueprint.string('foo').primary() blueprint.string('order_id') blueprint.foreign('order_id').references('id').on('orders') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(3, len(statements)) expected = [ 'CREATE TABLE "users" ("foo" VARCHAR(255) NOT NULL, "order_id" VARCHAR(255) NOT NULL)', 'ALTER TABLE "users" ADD CONSTRAINT users_order_id_foreign' ' FOREIGN KEY ("order_id") REFERENCES "orders" ("id")', 'ALTER TABLE "users" ADD PRIMARY KEY ("foo")' ] self.assertEqual(expected, statements)
def test_adding_foreign_key(self): blueprint = Blueprint("users") blueprint.create() blueprint.string("foo").primary() blueprint.string("order_id") blueprint.foreign("order_id").references("id").on("orders") statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(3, len(statements)) expected = [ 'CREATE TABLE "users" ("foo" VARCHAR(255) NOT NULL, "order_id" VARCHAR(255) NOT NULL)', 'ALTER TABLE "users" ADD CONSTRAINT users_order_id_foreign' ' FOREIGN KEY ("order_id") REFERENCES "orders" ("id")', 'ALTER TABLE "users" ADD PRIMARY KEY ("foo")', ] self.assertEqual(expected, statements)
def test_basic_create_with_prefix(self): blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') grammar = self.get_grammar() grammar.set_table_prefix('prefix_') conn = self.get_connection() conn.should_receive('get_config').and_return(None) statements = blueprint.to_sql(conn, grammar) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE `prefix_users` (' '`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ' '`email` VARCHAR(255) NOT NULL)', statements[0])
def test_charset_collation_create(self): blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') blueprint.charset = 'utf8mb4' blueprint.collation = 'utf8mb4_unicode_ci' conn = self.get_connection() statements = blueprint.to_sql(conn, self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE `users` (' '`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ' '`email` VARCHAR(255) NOT NULL) ' 'DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci', statements[0])
def test_basic_create_with_prefix(self): blueprint = Blueprint("users") blueprint.create() blueprint.increments("id") blueprint.string("email") grammar = self.get_grammar() grammar.set_table_prefix("prefix_") conn = self.get_connection() conn.should_receive("get_config").and_return(None) statements = blueprint.to_sql(conn, grammar) self.assertEqual(1, len(statements)) self.assertEqual( "CREATE TABLE `prefix_users` (" "`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, " "`email` VARCHAR(255) NOT NULL)", statements[0], )
def test_charset_collation_create(self): blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') blueprint.charset = 'utf8mb4' blueprint.collation = 'utf8mb4_unicode_ci' conn = self.get_connection() statements = blueprint.to_sql(conn, self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE `users` (' '`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ' '`email` VARCHAR(255) NOT NULL) ' 'DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci', statements[0] )
def test_basic_create_with_prefix(self): blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') grammar = self.get_grammar() grammar.set_table_prefix('prefix_') conn = self.get_connection() conn.should_receive('get_config').and_return(None) statements = blueprint.to_sql(conn, grammar) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE `prefix_users` (' '`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ' '`email` VARCHAR(255) NOT NULL)', statements[0] )
def test_charset_collation_create(self): blueprint = Blueprint("users") blueprint.create() blueprint.increments("id") blueprint.string("email") blueprint.charset = "utf8mb4" blueprint.collation = "utf8mb4_unicode_ci" conn = self.get_connection() statements = blueprint.to_sql(conn, self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( "CREATE TABLE `users` (" "`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, " "`email` VARCHAR(255) NOT NULL) " "DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci", statements[0], )
def test_basic_create(self): blueprint = Blueprint("users") blueprint.create() blueprint.increments("id") blueprint.string("email") conn = self.get_connection() conn.should_receive("get_config").once().with_args( "charset").and_return("utf8") conn.should_receive("get_config").once().with_args( "collation").and_return("utf8_unicode_ci") statements = blueprint.to_sql(conn, self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( "CREATE TABLE `users` (" "`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, " "`email` VARCHAR(255) NOT NULL) " "DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci", statements[0], ) blueprint = Blueprint("users") blueprint.create() blueprint.increments("id") blueprint.string("email") conn = self.get_connection() conn.should_receive("get_config").and_return(None) statements = blueprint.to_sql(conn, self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( "CREATE TABLE `users` (" "`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, " "`email` VARCHAR(255) NOT NULL)", statements[0], )
def test_basic_create(self): blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') conn = self.get_connection() conn.should_receive('get_config').once().with_args('charset').and_return('utf8') conn.should_receive('get_config').once().with_args('collation').and_return('utf8_unicode_ci') statements = blueprint.to_sql(conn, self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE `users` (' '`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ' '`email` VARCHAR(255) NOT NULL) ' 'DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci', statements[0] ) blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') conn = self.get_connection() conn.should_receive('get_config').and_return(None) statements = blueprint.to_sql(conn, self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE `users` (' '`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ' '`email` VARCHAR(255) NOT NULL)', statements[0] )
def test_basic_create(self): blueprint = Blueprint("users") blueprint.create() blueprint.increments("id") blueprint.string("email") statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE "users" ("id" SERIAL PRIMARY KEY NOT NULL, "email" VARCHAR(255) NOT NULL)', statements[0] ) blueprint = Blueprint("users") blueprint.increments("id") blueprint.string("email") statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) expected = [ 'ALTER TABLE "users" ADD COLUMN "id" SERIAL PRIMARY KEY NOT NULL, ' 'ADD COLUMN "email" VARCHAR(255) NOT NULL' ] self.assertEqual(expected[0], statements[0])
def test_basic_create(self): blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') conn = self.get_connection() conn.should_receive('get_config').once().with_args( 'charset').and_return('utf8') conn.should_receive('get_config').once().with_args( 'collation').and_return('utf8_unicode_ci') statements = blueprint.to_sql(conn, self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE `users` (' '`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ' '`email` VARCHAR(255) NOT NULL) ' 'DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci', statements[0]) blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') conn = self.get_connection() conn.should_receive('get_config').and_return(None) statements = blueprint.to_sql(conn, self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE `users` (' '`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ' '`email` VARCHAR(255) NOT NULL)', statements[0])
def test_basic_create(self): blueprint = Blueprint('users') blueprint.create() blueprint.increments('id') blueprint.string('email') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(1, len(statements)) self.assertEqual( 'CREATE TABLE "users" ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "email" VARCHAR NOT NULL)', statements[0] ) blueprint = Blueprint('users') blueprint.increments('id') blueprint.string('email') statements = blueprint.to_sql(self.get_connection(), self.get_grammar()) self.assertEqual(2, len(statements)) expected = [ 'ALTER TABLE "users" ADD COLUMN "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT', 'ALTER TABLE "users" ADD COLUMN "email" VARCHAR NOT NULL' ] self.assertEqual(expected, statements)