示例#1
0
        public async Task TestAlterTable_AddForeignConstraint()
        {
            this.BeforeEach();

            var dbName     = "db1";
            var tableName  = "posts";
            var columnName = "id";

            var fk = "user_id";
            var tableReferenced = "users";

            EasyMig.AlterTable(tableName).AddForeignKeyConstraint(fk, tableReferenced, columnName);

            EasyMig.ToMySql.DoMigrationsFromMemory(completeConnectionString);

            // var query = EasyMig.ToMySql.GetMigrationQuery();

            // EasyMig.ToMySql.ExecuteQuery(query, completeConnectionString);

            await Task.Delay(200);

            var table = EasyMig.Information.MySql.GetTable(dbName, tableName, connectionString);

            Assert.AreEqual(true, table.IsForeignKey(fk));
        }
示例#2
0
        public async Task TestAlterTable_DropColumn()
        {
            this.BeforeEach();

            var dbName     = "db1";
            var tableName  = "posts";
            var columnName = "title";

            Assert.IsTrue(EasyMig.Information.MySql.ColumnExists(dbName, tableName, columnName, connectionString));

            EasyMig.AlterTable(tableName).DropColumn(columnName);

            var query = EasyMig.ToMySql.GetMigrationQuery();

            EasyMig.ToMySql.ExecuteQuery(query, completeConnectionString);

            await Task.Delay(200);

            Assert.IsFalse(EasyMig.Information.MySql.ColumnExists(dbName, tableName, columnName, connectionString));

            var table = EasyMig.Information.MySql.GetTable(dbName, tableName, connectionString);

            Assert.IsNotNull(table);
            Assert.IsFalse(table.HasColumn(columnName));
        }
示例#3
0
        public async Task TestAlterTable_AddPrimaryConstraint()
        {
            var tableName  = "sqlfile_posts";
            var columnName = "id";

            EasyMig.AlterTable(tableName).AddPrimaryKeyConstraint(columnName);

            EasyMig.ToSqlServer.DoMigrationsFromMemory(connectionString);

            await Task.Delay(200);

            var table = EasyMig.Information.SqlServerAttachedDbFile.GetTable(tableName, connectionString);

            Assert.AreEqual(true, table.IsPrimaryKey(columnName));
        }
示例#4
0
        public async Task TestAlterTable_ModifyColumn()
        {
            var tableName  = "sqlfile_posts";
            var columnName = "title";

            Assert.IsTrue(EasyMig.Information.SqlServerAttachedDbFile.ColumnExists(tableName, columnName, connectionString));

            EasyMig.AlterTable(tableName).ModifyColumn(columnName, ColumnType.VarChar(), true);

            EasyMig.ToSqlServer.DoMigrationsFromMemory(connectionString);

            await Task.Delay(200);

            var table = EasyMig.Information.SqlServerAttachedDbFile.GetTable(tableName, connectionString);

            Assert.AreEqual("YES", table.GetColumn(columnName)["IS_NULLABLE"]);
        }
示例#5
0
        public async Task TestAlterTable_AddForeignConstraint()
        {
            var tableName  = "sqlfile_posts";
            var columnName = "id";

            var fk = "user_id";
            var tableReferenced = "sqlfile_users";

            EasyMig.AlterTable(tableName).AddForeignKeyConstraint(fk, tableReferenced, columnName);

            EasyMig.ToSqlServer.DoMigrationsFromMemory(connectionString);

            await Task.Delay(200);

            var table = EasyMig.Information.SqlServerAttachedDbFile.GetTable(tableName, connectionString);

            Assert.AreEqual(true, table.IsForeignKey(fk));
        }
示例#6
0
        public async Task TestAlterTable_AddPrimaryConstraint()
        {
            this.BeforeEach();

            var dbName     = "db1";
            var tableName  = "posts";
            var columnName = "id";

            EasyMig.AlterTable(tableName).AddPrimaryKeyConstraint(columnName);

            var query = EasyMig.ToMySql.GetMigrationQuery();

            EasyMig.ToMySql.ExecuteQuery(query, completeConnectionString);

            await Task.Delay(200);

            var table = EasyMig.Information.MySql.GetTable(dbName, tableName, connectionString);

            Assert.AreEqual(true, table.IsPrimaryKey(columnName));
        }
示例#7
0
        public async Task TestAlterTable_DropColumn()
        {
            var tableName  = "sqlfile_posts";
            var columnName = "title";

            Assert.IsTrue(EasyMig.Information.SqlServerAttachedDbFile.ColumnExists(tableName, columnName, connectionString));

            EasyMig.AlterTable(tableName).DropColumn(columnName);

            EasyMig.ToSqlServer.DoMigrationsFromMemory(connectionString);

            await Task.Delay(200);

            Assert.IsFalse(EasyMig.Information.SqlServerAttachedDbFile.ColumnExists(tableName, columnName, connectionString));

            var table = EasyMig.Information.SqlServerAttachedDbFile.GetTable(tableName, connectionString);

            Assert.IsNotNull(table);
            Assert.IsFalse(table.HasColumn(columnName));
        }
示例#8
0
        public async Task TestAlterTable_AddColumn()
        {
            var dbName     = "sql_db1";
            var tableName  = "sql_posts";
            var columnName = "user_id";

            Assert.IsFalse(EasyMig.Information.SqlServer.ColumnExists(dbName, tableName, columnName, connectionString));

            EasyMig.AlterTable(tableName).AddColumn(columnName, ColumnType.Int(true));

            EasyMig.ToSqlServer.DoMigrationsFromMemory(connectionString);

            await Task.Delay(200);

            Assert.IsTrue(EasyMig.Information.SqlServer.ColumnExists(dbName, tableName, columnName, connectionString));

            var table = EasyMig.Information.SqlServer.GetTable(dbName, tableName, connectionString);

            Assert.IsNotNull(table);
            Assert.IsTrue(table.HasColumn(columnName));
        }
示例#9
0
        public async Task TestAlterTable_ModifyColumn()
        {
            this.BeforeEach();

            var dbName     = "db1";
            var tableName  = "posts";
            var columnName = "title";

            Assert.IsTrue(EasyMig.Information.MySql.ColumnExists(dbName, tableName, columnName, connectionString));

            EasyMig.AlterTable(tableName).ModifyColumn(columnName, ColumnType.VarChar(), true);

            var query = EasyMig.ToMySql.GetMigrationQuery();

            EasyMig.ToMySql.ExecuteQuery(query, completeConnectionString);

            await Task.Delay(200);

            var table = EasyMig.Information.MySql.GetTable(dbName, tableName, connectionString);

            Assert.AreEqual("YES", table.GetColumn(columnName)["IS_NULLABLE"]);
        }