public override void Up()
        {
            // SQLite only supports FK's defined in the create statement so
            // we ensure this is the only approach used so that SQLite can
            // successfully tested. At time of implementing, the FK constraint
            // wasn't explicitly used by any tests and so should affect anything.

            Create.Table("Users")
            .WithColumn("UserId").AsInt32().Identity().PrimaryKey()
            .WithColumn("GroupId").AsInt32().NotNullable().ForeignKey("Groups", "GroupId")
            .WithColumn("UserName").AsString(32).NotNullable()
            .WithColumn("Password").AsString(32).NotNullable();

            Create.Table("Groups")
            .WithColumn("GroupId").AsInt32().Identity().PrimaryKey()
            .WithColumn("Name").AsString(32).NotNullable();

            Create.Column("Foo").OnTable("Users").AsInt16().Indexed().WithDefaultValue(1);

            Create.Table("Foo")
            .WithColumn("Fizz").AsString(32);

            Rename.Table("Foo").To("Bar");

            // commented out because this throws not implemented exception
            //Alter.Table( "" ).InSchema( "" ).ToSchema( "" );

            //does not work in sqlite
            //Rename.Column("Fizz").OnTable("Bar").To("Buzz");

            //Insert.IntoTable("Users").Row(new { UserName = "******", Password = "******" });
        }
 public override void Up()
 {
     Rename.Table(Tables.BookFile).InSchema(Schemas.Library)
     .To(Tables.BookContent);
     Alter.Table(Tables.BookContent).InSchema(Schemas.Library)
     .AddColumn("Language").AsString().Nullable();
 }
Exemple #3
0
        public override void Down()
        {
            LogProvider.Log.Info("Rolling back migration #24.");

            try
            {
                if (Schema.Table(playerNotesTempTableName).Exists())
                {
                    if (Schema.Table(playerNotesTableName).Exists())
                    {
                        LogProvider.Log.Info($"Deleting \"{playerNotesTableName}\" table.");
                        Delete.Table(playerNotesTableName);
                        LogProvider.Log.Info($"Renaming \"{playerNotesTempTableName}\" table to \"{playerNotesTableName}\".");
                        Rename.Table(playerNotesTempTableName).To(playerNotesTableName);
                    }
                }
            }
            catch (Exception e)
            {
                LogProvider.Log.Error(this, "Migration #24 failed.", e);
                throw;
            }

            LogProvider.Log.Info("Migration #24 rolled back.");
        }
Exemple #4
0
        public override void Up()
        {
            Rename
            .Table("ContentOptionTypes").InSchema(SchemaName)
            .To("OptionTypes").InSchema(SchemaName);

            // Create new foreign keys, remove old ones
            Create
            .ForeignKey("FK_Cms_ContentOptions_Type_Cms_OptionTypes_Id")
            .FromTable("ContentOptions").InSchema(SchemaName)
            .ForeignColumn("Type")
            .ToTable("OptionTypes").InSchema(SchemaName)
            .PrimaryColumn("Id");

            Create
            .ForeignKey("FK_Cms_PageContentOptions_Type_Cms_OptionTypes_Id")
            .FromTable("PageContentOptions").InSchema(SchemaName)
            .ForeignColumn("Type")
            .ToTable("OptionTypes").InSchema(SchemaName)
            .PrimaryColumn("Id");

            Delete
            .ForeignKey("FK_Cms_ContentOptions_Type_Cms_ContentOptionTypes_Id")
            .OnTable("ContentOptions").InSchema(SchemaName);

            Delete
            .ForeignKey("FK_Cms_PageContentOptions_Type_Cms_ContentOptionTypes_Id")
            .OnTable("PageContentOptions").InSchema(SchemaName);
        }
        public override void Up()
        {
            Create.Table("Users")
            .WithColumn("UserId").AsInt32().Identity().PrimaryKey()
            .WithColumn("GroupId").AsInt32().NotNullable()
            .WithColumn("UserName").AsString(32).NotNullable()
            .WithColumn("Password").AsString(32).NotNullable();

            Create.Table("Groups")
            .WithColumn("GroupId").AsInt32().Identity().PrimaryKey()
            .WithColumn("Name").AsString(32).NotNullable();

            Create.Column("Foo").OnTable("Users").AsInt16().Indexed().WithDefaultValue(1);

            //commenting out the FK so it passes the sqlite tests
            Create.ForeignKey()
            .FromTable("Users").ForeignColumn("GroupId")
            .ToTable("Groups").PrimaryColumn("GroupId");
            //Create.ForeignKey("FK_Foo").FromTable("Users").ForeignColumn("GroupId").ToTable("Groups").PrimaryColumn("GroupId");

            Create.Table("Foo")
            .WithColumn("Fizz").AsString(32);

            Rename.Table("Foo").To("Bar");

            // commented out because this throws not implemented exception
            //Alter.Table( "" ).InSchema( "" ).ToSchema( "" );

            //does not work in sqlite
            //Rename.Column("Fizz").OnTable("Bar").To("Buzz");

            //Insert.IntoTable("Users").Row(new { UserName = "******", Password = "******" });
        }
        public override void Up()
        {
            Rename.Table("ReviewedFiles").InSchema("dbo").To("ReviewFiles");

            Alter.Table("ReviewFiles").InSchema("dbo")
            .AddColumn("Status").AsInt32().NotNullable().WithDefaultValue(1);
        }
Exemple #7
0
        public override void Down()
        {
            // revert back the changes on blocks height & id columns
            Alter.Table("Block").AlterColumn("Height").AsInt32().NotNullable();                   // remove the private key property from 'Height' column.
            Delete.PrimaryKey("Height").FromTable("Block");                                       // remove the primary key on 'Height'.
            Alter.Table("Block").AddColumn("Id").AsInt32().NotNullable().PrimaryKey().Identity(); // create the 'Id' column again and set is as primary key.

            // delete the new columns.
            Delete.Column("Reward").FromTable("Block");
            Delete.Column("Accounted").FromTable("Block");

            // revert back table & field names
            Rename.Table("Block").To("blocks");
            Rename.Column("Id").OnTable("blocks").To("id");
            Rename.Column("Height").OnTable("blocks").To("height");
            Rename.Column("Orphaned").OnTable("blocks").To("orphaned");
            Rename.Column("Confirmed").OnTable("blocks").To("confirmed");
            Rename.Column("BlockHash").OnTable("blocks").To("blockHash");
            Rename.Column("TxHash").OnTable("blocks").To("txHash");
            Rename.Column("Amount").OnTable("blocks").To("amount");
            Rename.Column("CreatedAt").OnTable("blocks").To("time");

            // delete the newly created tables.
            Delete.Table("Account");
            Delete.Table("Payment");
            Delete.Table("Transaction");
        }
        protected override void MainDbUpgrade()
        {
            Rename.Table("NetImport").To("ImportLists");
            Rename.Table("NetImportStatus").To("ImportListStatus");

            Execute.Sql("UPDATE Config SET Key = 'importlistsyncinterval' WHERE Key = 'netimportsyncinterval'");

            Alter.Table("ImportLists").AddColumn("SearchOnAdd").AsBoolean().WithDefaultValue(false);

            Create.TableForModel("ImportListMovies")
            .WithColumn("ImdbId").AsString().Nullable()
            .WithColumn("TmdbId").AsInt32()
            .WithColumn("ListId").AsInt32()
            .WithColumn("Title").AsString()
            .WithColumn("SortTitle").AsString().Nullable()
            .WithColumn("Status").AsInt32()
            .WithColumn("Overview").AsString().Nullable()
            .WithColumn("Images").AsString()
            .WithColumn("LastInfoSync").AsDateTime().Nullable()
            .WithColumn("Runtime").AsInt32()
            .WithColumn("InCinemas").AsDateTime().Nullable()
            .WithColumn("Year").AsInt32().Nullable()
            .WithColumn("Ratings").AsString().Nullable()
            .WithColumn("Genres").AsString().Nullable()
            .WithColumn("Certification").AsString().Nullable()
            .WithColumn("Collection").AsString().Nullable()
            .WithColumn("Website").AsString().Nullable()
            .WithColumn("OriginalTitle").AsString().Nullable()
            .WithColumn("PhysicalRelease").AsDateTime().Nullable()
            .WithColumn("Translations").AsString()
            .WithColumn("Studio").AsString().Nullable()
            .WithColumn("YouTubeTrailerId").AsString().Nullable()
            .WithColumn("DigitalRelease").AsDateTime().Nullable();
        }
    protected override void Migrate()
    {
        Rename.Table("cmsMedia").To(Constants.DatabaseSchema.Tables.MediaVersion).Do();

        // that is not supported on SqlCE
        // Rename.Column("versionId").OnTable(Constants.DatabaseSchema.Tables.MediaVersion).To("id").Do();
        AddColumn <MediaVersionDto>("id", out IEnumerable <string> sqls);

        Database.Execute($@"UPDATE {Constants.DatabaseSchema.Tables.MediaVersion} SET id=v.id
FROM {Constants.DatabaseSchema.Tables.MediaVersion} m
JOIN cmsContentVersion v on m.versionId = v.versionId
JOIN umbracoNode n on v.contentId=n.id
WHERE n.nodeObjectType='{Constants.ObjectTypes.Media}'");

        foreach (var sql in sqls)
        {
            Execute.Sql(sql).Do();
        }

        AddColumn <MediaVersionDto>("path", out sqls);

        Execute.Sql($"UPDATE {Constants.DatabaseSchema.Tables.MediaVersion} SET path=mediaPath").Do();

        foreach (var sql in sqls)
        {
            Execute.Sql(sql).Do();
        }

        // we had to run sqls to get the NULL constraints, but we need to get rid of most
        Delete.KeysAndIndexes(Constants.DatabaseSchema.Tables.MediaVersion).Do();

        Delete.Column("mediaPath").FromTable(Constants.DatabaseSchema.Tables.MediaVersion).Do();
        Delete.Column("versionId").FromTable(Constants.DatabaseSchema.Tables.MediaVersion).Do();
        Delete.Column("nodeId").FromTable(Constants.DatabaseSchema.Tables.MediaVersion).Do();
    }
Exemple #10
0
        public override void Up()
        {
            if (Schema.Schema(SchemaName).Table("Pages").Column("CultureGroupIdentifier").Exists())
            {
                Rename
                .Column("CultureGroupIdentifier")
                .OnTable("Pages").InSchema(SchemaName)
                .To("LanguageGroupIdentifier");
            }

            if (Schema.Schema(SchemaName).Table("Pages").Column("CultureId").Exists())
            {
                Rename
                .Column("CultureId")
                .OnTable("Pages").InSchema(SchemaName)
                .To("LanguageId");
            }

            if (Schema.Schema(SchemaName).Table("Cultures").Exists())
            {
                Rename
                .Table("Cultures").InSchema(SchemaName)
                .To("Languages");
            }
        }
Exemple #11
0
        public override void Up()
        {
            Rename.Table("pads").To("pad_colors");

            Delete.Column("material")
            .Column("texture")
            .FromTable("pad_colors");
        }
Exemple #12
0
        public override void Down()
        {
            Rename.Table("pad_colors").To("pads");

            Alter.Table("pad_colors")
            .AddColumn("material").AsString(32)
            .AddColumn("texture").AsString(32);
        }
Exemple #13
0
 public override void Up()
 {
     Rename.Column("TypeLkp").OnTable("Frwk_Notes").To("CategoryLkp");
     Delete.Column("SubTypeLkp").FromTable("Frwk_Notes");
     Rename.Column("ImportanceLkp").OnTable("Frwk_Notes").To("PriorityLkp");
     Alter.Table("Frwk_Notes").AddForeignKeyColumn("AuthorId", "Core_Persons");
     Rename.Table("Frwk_Notes").To("Core_Notes");
 }
        public override void Down()
        {
            Delete.Column("Language")
            .FromTable(Tables.BookContent).InSchema(Schemas.Library);

            Rename.Table(Tables.BookContent).InSchema(Schemas.Library)
            .To(Tables.BookFile);
        }
 public override void Down()
 {
     Rename
         .Column("case_type_id")
         .OnTable("case_card")
         .To("case_card_template_id");
     
     Rename.Table("case_type").To("case_card_template");
 }
 public override void Up()
 {
     Rename.Table("map").To("maps");
     Alter.Table("maps").AddColumn("imageData").AsCustom("json").NotNullable().SetExistingRowsTo("{}");
     Execute.Sql("UPDATE maps SET imageData = JSON_INSERT(imageData, '$.width', JSON_EXTRACT(data, '$.width'))");
     Execute.Sql("UPDATE maps SET imageData = JSON_INSERT(imageData, '$.height', JSON_EXTRACT(data, '$.height'))");
     Execute.Sql("UPDATE maps SET imageData = JSON_INSERT(imageData, '$.zoomCount', JSON_EXTRACT(data, '$.zoomCount'))");
     Execute.Sql("UPDATE maps SET imageData = JSON_INSERT(imageData, '$.extraZoomCount', JSON_EXTRACT(data, '$.extraZoomCount'))");
 }
 public override void Up()
 {
     Rename.Table("calendar").To("calendars");
     Rename.Table("character").To("characters");
     Rename.Table("character_history").To("character_history_entries");
     Rename.Table("character_job").To("character_jobs");
     Rename.Table("character_modifier").To("character_modifiers");
     Rename.Table("character_modifier_value").To("character_modifier_values");
     Rename.Table("character_speciality").To("character_specialities");
     Rename.Table("effect").To("effects");
     Rename.Table("effect_modifier").To("effect_modifiers");
     Rename.Table("effect_type").To("effect_types");
     Rename.Table("event").To("events");
     Rename.Table("god").To("gods");
     Rename.Table("group").To("groups");
     Rename.Table("group_history").To("group_history_entries");
     Rename.Table("item").To("items");
     Rename.Table("item_slot").To("slots");
     Rename.Table("item_template").To("item_templates");
     Rename.Table("item_template_modifier").To("item_template_modifiers");
     Rename.Table("item_template_requirement").To("item_template_requirements");
     Rename.Table("item_template_section").To("item_template_sections");
     Rename.Table("item_template_skill").To("item_template_skills");
     Rename.Table("item_template_slot").To("item_template_slots");
     Rename.Table("item_template_unskill").To("item_template_unskills");
     Rename.Table("item_type").To("item_types");
     Rename.Table("job").To("jobs");
     Rename.Table("job_bonus").To("job_bonuses");
     Rename.Table("job_requirement").To("job_requirements");
     Rename.Table("job_restrict").To("job_restrictions");
     Rename.Table("job_skill").To("job_skills");
     Rename.Table("loot").To("loots");
     Rename.Table("monster").To("monsters");
     Rename.Table("monster_template").To("monster_templates");
     Rename.Table("monster_template_simple_inventory").To("monster_template_inventory_elements");
     Rename.Table("monster_trait").To("monster_traits");
     Rename.Table("monster_type").To("monster_types");
     Rename.Table("origin").To("origins");
     Rename.Table("origin_bonus").To("origin_bonuses");
     Rename.Table("origin_info").To("origin_information");
     Rename.Table("origin_requirement").To("origin_requirements");
     Rename.Table("origin_restrict").To("origin_restrictions");
     Rename.Table("origin_skill").To("origin_skills");
     Rename.Table("quest").To("quests");
     Rename.Table("quest_template").To("quest_templates");
     Rename.Table("skill").To("skills");
     Rename.Table("skill_effect").To("skill_effects");
     Rename.Table("speciality").To("specialities");
     Rename.Table("speciality_modifier").To("speciality_modifiers");
     Rename.Table("speciality_special").To("speciality_specials");
     Rename.Table("spell").To("spells");
     Rename.Table("spell_category").To("spell_categories");
     Rename.Table("stat").To("stats");
     Rename.Table("user").To("users");
     Rename.Table("user_session").To("user_sessions");
 }
Exemple #18
0
        public override void Up()
        {
            Rename
            .Table("active_line")
            .To("line");

            Rename
            .Column("active_line_id")
            .OnTable("call_queue")
            .To("line_id");
        }
Exemple #19
0
        public override void Up()
        {
            Rename.Table("item_template_category").To("item_template_subcategories");
            Rename.Column("category").OnTable("item_template").To("subCategoryId");

            Rename.Table("effect_category").To("effect_subcategories");
            Rename.Column("category").OnTable("effect").To("subCategoryId");

            Rename.Table("monster_category").To("monster_subcategories");
            Rename.Column("categoryid").OnTable("monster_template").To("subCategoryId");
        }
Exemple #20
0
        public override void Up()
        {
            // Fix table & field names - use signular words & pascal case.
            Rename.Table("blocks").To("Block");
            Rename.Column("id").OnTable("Block").To("Id");
            Rename.Column("height").OnTable("Block").To("Height");
            Rename.Column("orphaned").OnTable("Block").To("Orphaned");
            Rename.Column("confirmed").OnTable("Block").To("Confirmed");
            Rename.Column("blockHash").OnTable("Block").To("BlockHash");
            Rename.Column("txHash").OnTable("Block").To("TxHash");
            Rename.Column("amount").OnTable("Block").To("Amount");
            Rename.Column("time").OnTable("Block").To("CreatedAt");

            // new payment processor uses block height as the foreign key regularly.
            // so we need to first drop the 'Id' column and set the new primary key as 'Height' column.
            Alter.Table("Block").AlterColumn("Id").AsInt32().NotNullable(); // remove primary key property from 'Id' column.
            Delete.PrimaryKey("Id").FromTable("Block");                     // remove primary key on 'Id'.
            Create.PrimaryKey("Height").OnTable("Block").Column("Height");  // create new primary key on 'Height' column.
            Delete.Column("Id").FromTable("Block");                         // delete the 'Id' column as we don't need it anymore.

            // add reward column to block table.
            Execute.Sql("ALTER TABLE Block ADD Reward DECIMAL(19,5) NOT NULL AFTER Amount");

            // add accounted column to block table
            Execute.Sql("ALTER TABLE Block ADD Accounted Boolean NOT NULL AFTER Confirmed");

            // create the users table.
            Create.Table("Account")
            .WithColumn("Id").AsInt32().NotNullable().PrimaryKey().Identity()
            .WithColumn("Username").AsString().NotNullable().Unique()
            .WithColumn("Address").AsString(34).NotNullable().Unique()
            .WithColumn("CreatedAt").AsDateTime().NotNullable();

            // create the payout table.
            Create.Table("Payment")
            .WithColumn("Id").AsInt32().NotNullable().PrimaryKey().Identity()
            .WithColumn("Block").AsInt32().ForeignKey("Block", "Height")
            .WithColumn("AccountId").AsInt32().ForeignKey("Account", "Id")
            .WithColumn("Amount").AsDecimal().NotNullable()
            .WithColumn("Completed").AsBoolean().NotNullable()
            .WithColumn("CreatedAt").AsDateTime().NotNullable();

            // create the transaction table.
            Create.Table("Transaction")
            .WithColumn("Id").AsInt32().NotNullable().PrimaryKey().Identity()
            .WithColumn("AccountId").AsInt32().ForeignKey("Account", "Id")
            .WithColumn("PaymentId").AsInt32().ForeignKey("Payment", "Id")
            .WithColumn("Amount").AsDecimal().NotNullable()
            .WithColumn("Currency").AsString(4).NotNullable()
            .WithColumn("TxHash").AsString(64).NotNullable()
            .WithColumn("CreatedAt").AsDateTime().NotNullable();
        }
        protected override void MainDbUpgrade()
        {
            Rename.Table("Profiles").To("QualityProfiles");

            Alter.Table("QualityProfiles").AddColumn("UpgradeAllowed").AsInt32().Nullable();
            Alter.Table("LanguageProfiles").AddColumn("UpgradeAllowed").AsInt32().Nullable();

            // Set upgrade allowed for existing profiles (default will be false for new profiles)
            Update.Table("QualityProfiles").Set(new { UpgradeAllowed = true }).AllRows();
            Update.Table("LanguageProfiles").Set(new { UpgradeAllowed = true }).AllRows();

            Rename.Column("ProfileId").OnTable("Artists").To("QualityProfileId");
        }
        public override void Migrate()
        {
            Rename.Table("cmsMedia").To(Constants.DatabaseSchema.Tables.MediaVersion).Do();

            // that is not supported on SqlCE
            //Rename.Column("versionId").OnTable(Constants.DatabaseSchema.Tables.MediaVersion).To("id").Do();

            AddColumn <MediaVersionDto>("id", out var sqls);

            if (Database.DatabaseType.IsSqlCe())
            {
                // SQLCE does not support UPDATE...FROM
                var temp2 = Database.Fetch <dynamic>($@"SELECT v.versionId, v.id
FROM cmsContentVersion v
JOIN umbracoNode n on v.contentId=n.id
WHERE n.nodeObjectType='{Constants.ObjectTypes.Media}'");
                foreach (var t in temp2)
                {
                    Execute.Sql($"UPDATE {Constants.DatabaseSchema.Tables.MediaVersion} SET id={t.id} WHERE versionId='{t.versionId}'").Do();
                }
            }
            else
            {
                Database.Execute($@"UPDATE {Constants.DatabaseSchema.Tables.MediaVersion} SET id=v.id
FROM {Constants.DatabaseSchema.Tables.MediaVersion} m
JOIN cmsContentVersion v on m.versionId = v.versionId
JOIN umbracoNode n on v.contentId=n.id
WHERE n.nodeObjectType='{Constants.ObjectTypes.Media}'");
            }

            foreach (var sql in sqls)
            {
                Execute.Sql(sql).Do();
            }

            AddColumn <MediaVersionDto>("path", out sqls);

            Execute.Sql($"UPDATE {Constants.DatabaseSchema.Tables.MediaVersion} SET path=mediaPath").Do();

            foreach (var sql in sqls)
            {
                Execute.Sql(sql).Do();
            }

            // we had to run sqls to get the NULL constraints, but we need to get rid of most
            Delete.KeysAndIndexes(Constants.DatabaseSchema.Tables.MediaVersion).Do();

            Delete.Column("mediaPath").FromTable(Constants.DatabaseSchema.Tables.MediaVersion).Do();
            Delete.Column("versionId").FromTable(Constants.DatabaseSchema.Tables.MediaVersion).Do();
            Delete.Column("nodeId").FromTable(Constants.DatabaseSchema.Tables.MediaVersion).Do();
        }
        public override void Down()
        {
            Execute.Sql(@"DELETE ActivityTypes WHERE TypeLabel = 'Learning Hub Resource'");

            Delete.ForeignKey("FK_LearningLogItems_ActivityTypeID_ActivityTypes_ID").OnTable("LearningLogItems");

            Rename.Column("ID").OnTable("ActivityTypes").To("ApptTypeID");

            // This foreign key was incorrectly named before it was update in the Up, so reverting it to the old bad name
            Alter.Table("LearningLogItems")
            .AlterColumn("ActivityTypeID").AsInt32().NotNullable()
            .ForeignKey("FK_LearningLogItems_AdminUsers", "ActivityTypes", "ApptTypeID");

            Rename.Table("ActivityTypes").To("AppointmentTypes");
        }
Exemple #24
0
        public override void Up()
        {
            LogProvider.Log.Info("Preparing migration #24.");

            try
            {
                if (Schema.Table(playerNotesTempTableName).Exists())
                {
                    Delete.Table(playerNotesTempTableName);
                }

                if (Schema.Table(playerNotesTableName).Exists())
                {
                    if (Schema.Table(playerNotesTableName).Index(playerNotesIndexName).Exists())
                    {
                        Delete.Index(playerNotesIndexName).OnTable(playerNotesTableName);
                    }

                    Rename.Table(playerNotesTableName).To(playerNotesTempTableName);
                }

                Create.Table(playerNotesTableName)
                .WithColumn("PlayerNoteId").AsInt32().PrimaryKey().NotNullable()
                .WithColumn("PlayerId").AsInt32().NotNullable()
                .WithColumn("Note").AsString().NotNullable()
                .WithColumn("CardRange").AsString().Nullable()
                .WithColumn("Timestamp").AsDateTime().Nullable()
                .WithColumn("IsAutoNote").AsBoolean().NotNullable().WithDefaultValue(false)
                .WithColumn("GameNumber").AsInt64().Nullable()
                .WithColumn("PokerSiteId").AsInt32().NotNullable();

                Create.Index(playerNotesIndexName).OnTable(playerNotesTableName).OnColumn("PlayerId");

                if (Schema.Table(playerNotesTempTableName).Exists())
                {
                    Execute.Sql($"INSERT INTO {playerNotesTableName} (PlayerNoteId, PlayerId, Note, PokerSiteId) SELECT PlayerNoteId, PlayerId, Note, PokerSiteId FROM {playerNotesTempTableName} WHERE Note is not null");
                    Delete.Table(playerNotesTempTableName);
                }
            }
            catch (Exception e)
            {
                LogProvider.Log.Error(this, "Migration #24 failed.", e);
                throw;
            }

            LogProvider.Log.Info("Migration #24 executed.");
        }
        public override void Up()
        {
            Rename.Table("AppointmentTypes").To("ActivityTypes");

            Delete.ForeignKey("FK_LearningLogItems_AdminUsers").OnTable("LearningLogItems");

            Rename.Column("ApptTypeID").OnTable("ActivityTypes").To("ID");

            Alter.Table("LearningLogItems")
            .AlterColumn("ActivityTypeID").AsInt32().NotNullable()
            .ForeignKey("ActivityTypes", "ID");

            Execute.Sql(@"INSERT INTO ActivityTypes
                        (TypeLabel, TypeCaption, SchedulerOrderNum)
                        VALUES
                        ('Learning Hub Resource', 'Learning Hub Resource', (SELECT Max(SchedulerOrderNum)+1 FROM ActivityTypes))");
        }
        public override void Up()
        {
            Rename.Table("SubNode").To("Port");
            Rename.Column("subNodeId").OnTable("Port").To("portId");

            Alter.Column("pulseCount").OnTable("Port").AsInt32().Nullable();
            Alter.Table("Port")
            .AddColumn("direction").AsFixedLengthAnsiString(1)
            .AddColumn("type").AsFixedLengthAnsiString(1)
            .AddColumn("state").AsBoolean().Nullable()
            .AddColumn("value").AsInt16().Nullable();

            Update.Table("Port").Set(new { direction = "S", type = "P" }).AllRows();

            Alter.Column("direction").OnTable("Port").AsFixedLengthAnsiString(1).NotNullable();
            Alter.Column("type").OnTable("Port").AsFixedLengthAnsiString(1).NotNullable();

            Create.UniqueConstraint("UC_nodeId_number").OnTable("Port").Columns("nodeId", "number");
            Create.Index("IX_nodeId_number").OnTable("Port").OnColumn("nodeId").Ascending().OnColumn("number").Ascending();
        }
Exemple #27
0
        protected override void MainDbUpgrade()
        {
            Rename.Table("QualityProfiles").To("Profiles");

            Alter.Table("Profiles").AddColumn("Language").AsInt32().Nullable();
            Alter.Table("Profiles").AddColumn("GrabDelay").AsInt32().Nullable();
            Alter.Table("Profiles").AddColumn("GrabDelayMode").AsInt32().Nullable();
            Execute.Sql("UPDATE Profiles SET Language = 1, GrabDelay = 0, GrabDelayMode = 0");

            //Rename QualityProfileId in Series
            Alter.Table("Series").AddColumn("ProfileId").AsInt32().Nullable();
            Execute.Sql("UPDATE Series SET ProfileId = QualityProfileId");

            //Add HeldReleases
            Create.TableForModel("PendingReleases")
                  .WithColumn("SeriesId").AsInt32()
                  .WithColumn("Title").AsString()
                  .WithColumn("Added").AsDateTime()
                  .WithColumn("ParsedEpisodeInfo").AsString()
                  .WithColumn("Release").AsString();
        }
Exemple #28
0
        public override void Up()
        {
            Rename.Table("Resolucao").InSchema("dbo").To("ResolucaoQuestao");

            Create.Table("ResolucaoTarefa")
            .WithColumn("id")
            .AsInt32()
            .PrimaryKey("pk_resolucaotarefa")
            .Identity()
            .WithColumn("nota")
            .AsDouble()
            .Nullable()
            .WithColumn("enviada")
            .AsBoolean()
            .Nullable()
            .WithColumn("tarefa_id")
            .AsInt32()
            .ForeignKey("Tarefa", "id")
            .WithColumn("aluno_id")
            .AsInt32()
            .ForeignKey("Aluno", "id");
        }
Exemple #29
0
        private void MigrateContent()
        {
            // if the table has already been renamed, we're done
            if (TableExists(Constants.DatabaseSchema.Tables.Content))
            {
                return;
            }

            // rename columns
            if (ColumnExists(PreTables.Content, "contentType"))
            {
                ReplaceColumn <ContentDto>(PreTables.Content, "contentType", "contentTypeId");
            }

            // drop columns
            if (ColumnExists(PreTables.Content, "pk"))
            {
                Delete.Column("pk").FromTable(PreTables.Content).Do();
            }

            // rename table
            Rename.Table(PreTables.Content).To(Constants.DatabaseSchema.Tables.Content).Do();
        }
        public override void Migrate()
        {
            // delete *all* keys and indexes - because of FKs
            Delete.KeysAndIndexes().Do();

            // drop and create columns
            Delete.Column("pk").FromTable("cmsDataType").Do();

            // rename the table
            Rename.Table("cmsDataType").To(Constants.DatabaseSchema.Tables.DataType).Do();

            // create column
            AddColumn <DataTypeDto>(Constants.DatabaseSchema.Tables.DataType, "config");
            Execute.Sql(Sql().Update <DataTypeDto>(u => u.Set(x => x.Configuration, string.Empty)).SQL).Do();

            // re-create *all* keys and indexes
            foreach (var x in DatabaseSchemaCreator.OrderedTables)
            {
                Create.KeysAndIndexes(x).Do();
            }

            // renames
            Execute.Sql(Sql()
                        .Update <DataTypeDto>(u => u.Set(x => x.EditorAlias, "Umbraco.ColorPicker"))
                        .Where <DataTypeDto>(x => x.EditorAlias == "Umbraco.ColorPickerAlias").SQL).Do();

            // from preValues to configuration...
            var sql = Sql()
                      .Select <DataTypeDto>()
                      .AndSelect <PreValueDto>(x => x.Alias, x => x.SortOrder, x => x.Value)
                      .From <DataTypeDto>()
                      .InnerJoin <PreValueDto>().On <DataTypeDto, PreValueDto>((left, right) => left.NodeId == right.NodeId)
                      .OrderBy <DataTypeDto>(x => x.NodeId)
                      .AndBy <PreValueDto>(x => x.SortOrder);

            var dtos = Database.Fetch <PreValueDto>(sql).GroupBy(x => x.NodeId);

            foreach (var group in dtos)
            {
                var dataType = Database.Fetch <DataTypeDto>(Sql()
                                                            .Select <DataTypeDto>()
                                                            .From <DataTypeDto>()
                                                            .Where <DataTypeDto>(x => x.NodeId == group.Key)).First();

                var aliases = group.Select(x => x.Alias).Distinct().ToArray();
                if (aliases.Length == 1 && string.IsNullOrWhiteSpace(aliases[0]))
                {
                    // array-based prevalues
                    var values = new Dictionary <string, object> {
                        ["values"] = group.OrderBy(x => x.SortOrder).Select(x => x.Value).ToArray()
                    };
                    dataType.Configuration = JsonConvert.SerializeObject(values);
                }
                else
                {
                    // assuming we don't want to fall back to array
                    if (aliases.Length != group.Count() || aliases.Any(string.IsNullOrWhiteSpace))
                    {
                        throw new InvalidOperationException($"Cannot migrate datatype w/ id={dataType.NodeId} preValues: duplicate or null/empty alias.");
                    }

                    // dictionary-base prevalues
                    var values = group.ToDictionary(x => x.Alias, x => x.Value);
                    dataType.Configuration = JsonConvert.SerializeObject(values);
                }

                Database.Update(dataType);
            }
        }