Adding migrations for v6 upgrades.
Updating and testing migrations.
This commit is contained in:
@@ -6,7 +6,7 @@ namespace Umbraco.Core.Models.Rdbms
|
||||
[TableName("cmsStylesheet")]
|
||||
[PrimaryKey("nodeId", autoIncrement = false)]
|
||||
[ExplicitColumns]
|
||||
public class StylesheetDto
|
||||
internal class StylesheetDto
|
||||
{
|
||||
[Column("nodeId")]
|
||||
[PrimaryKeyColumn(AutoIncrement = false)]
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace Umbraco.Core.Persistence.DatabaseModelDefinitions
|
||||
private ConstraintType constraintType;
|
||||
public bool IsPrimaryKeyConstraint { get { return ConstraintType.PrimaryKey == constraintType; } }
|
||||
public bool IsUniqueConstraint { get { return ConstraintType.Unique == constraintType; } }
|
||||
public bool IsNonUniqueConstraint { get { return ConstraintType.NonUnique == constraintType; } }
|
||||
|
||||
public string SchemaName { get; set; }
|
||||
public string ConstraintName { get; set; }
|
||||
|
||||
@@ -3,6 +3,7 @@ namespace Umbraco.Core.Persistence.DatabaseModelDefinitions
|
||||
public enum ConstraintType
|
||||
{
|
||||
PrimaryKey,
|
||||
Unique
|
||||
Unique,
|
||||
NonUnique
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
using Umbraco.Core.Persistence.Migrations.Syntax.Alter;
|
||||
using Umbraco.Core.Persistence.Migrations.Syntax.Create;
|
||||
using Umbraco.Core.Persistence.Migrations.Syntax.Delete;
|
||||
using Umbraco.Core.Persistence.Migrations.Syntax.Execute;
|
||||
using Umbraco.Core.Persistence.Migrations.Syntax.Insert;
|
||||
using Umbraco.Core.Persistence.Migrations.Syntax.Rename;
|
||||
using Umbraco.Core.Persistence.Migrations.Syntax.Update;
|
||||
@@ -41,6 +42,11 @@ namespace Umbraco.Core.Persistence.Migrations
|
||||
get { return new DeleteBuilder(_context); }
|
||||
}
|
||||
|
||||
public IExecuteBuilder Execute
|
||||
{
|
||||
get { return new ExecuteBuilder(_context); }
|
||||
}
|
||||
|
||||
public IInsertBuilder Insert
|
||||
{
|
||||
get { return new InsertBuilder(_context); }
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Umbraco.Core.Logging;
|
||||
|
||||
@@ -30,13 +31,9 @@ namespace Umbraco.Core.Persistence.Migrations
|
||||
LogHelper.Info<MigrationRunner>("Initializing database migration");
|
||||
|
||||
var foundMigrations = PluginManager.Current.FindMigrations();
|
||||
var migrations = (from migration in foundMigrations
|
||||
let migrationAttribute = migration.GetType().FirstAttribute<MigrationAttribute>()
|
||||
where migrationAttribute != null
|
||||
where
|
||||
migrationAttribute.TargetVersion > _configuredVersion &&
|
||||
migrationAttribute.TargetVersion <= _targetVersion
|
||||
select migration);
|
||||
var migrations = isUpgrade
|
||||
? OrderedUpgradeMigrations(foundMigrations)
|
||||
: OrderedDowngradeMigrations(foundMigrations);
|
||||
|
||||
//Loop through migrations to generate sql
|
||||
var context = new MigrationContext();
|
||||
@@ -52,7 +49,7 @@ namespace Umbraco.Core.Persistence.Migrations
|
||||
}
|
||||
}
|
||||
|
||||
//Transactional execution of the sql that was generated from the found migrationsS
|
||||
//Transactional execution of the sql that was generated from the found migrations
|
||||
using (Transaction transaction = database.GetTransaction())
|
||||
{
|
||||
foreach (var expression in context.Expressions)
|
||||
@@ -67,5 +64,31 @@ namespace Umbraco.Core.Persistence.Migrations
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
internal IEnumerable<IMigration> OrderedUpgradeMigrations(IEnumerable<IMigration> foundMigrations)
|
||||
{
|
||||
var migrations = (from migration in foundMigrations
|
||||
let migrationAttribute = migration.GetType().FirstAttribute<MigrationAttribute>()
|
||||
where migrationAttribute != null
|
||||
where
|
||||
migrationAttribute.TargetVersion > _configuredVersion &&
|
||||
migrationAttribute.TargetVersion <= _targetVersion
|
||||
orderby migrationAttribute.SortOrder ascending
|
||||
select migration);
|
||||
return migrations;
|
||||
}
|
||||
|
||||
public IEnumerable<IMigration> OrderedDowngradeMigrations(IEnumerable<IMigration> foundMigrations)
|
||||
{
|
||||
var migrations = (from migration in foundMigrations
|
||||
let migrationAttribute = migration.GetType().FirstAttribute<MigrationAttribute>()
|
||||
where migrationAttribute != null
|
||||
where
|
||||
migrationAttribute.TargetVersion > _configuredVersion &&
|
||||
migrationAttribute.TargetVersion <= _targetVersion
|
||||
orderby migrationAttribute.SortOrder descending
|
||||
select migration);
|
||||
return migrations;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -89,5 +89,13 @@ namespace Umbraco.Core.Persistence.Migrations.Syntax.Create
|
||||
_context.Expressions.Add(expression);
|
||||
return new CreateConstraintBuilder(expression);
|
||||
}
|
||||
|
||||
public ICreateConstraintOnTableSyntax Constraint(string constraintName)
|
||||
{
|
||||
var expression = new CreateConstraintExpression(ConstraintType.NonUnique);
|
||||
expression.Constraint.ConstraintName = constraintName;
|
||||
_context.Expressions.Add(expression);
|
||||
return new CreateConstraintBuilder(expression);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,13 @@ namespace Umbraco.Core.Persistence.Migrations.Syntax.Create.Expressions
|
||||
{
|
||||
var constraintType = (Constraint.IsPrimaryKeyConstraint) ? "PRIMARY KEY" : "UNIQUE";
|
||||
|
||||
string[] columns = new string[Constraint.Columns.Count];
|
||||
if (Constraint.IsPrimaryKeyConstraint && SyntaxConfig.SqlSyntaxProvider.SupportsClustered())
|
||||
constraintType += " CLUSTERED";
|
||||
|
||||
if (Constraint.IsNonUniqueConstraint)
|
||||
constraintType = string.Empty;
|
||||
|
||||
var columns = new string[Constraint.Columns.Count];
|
||||
|
||||
for (int i = 0; i < Constraint.Columns.Count; i++)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Umbraco.Core.Persistence.Migrations.Syntax.Create.ForeignKey
|
||||
return this;
|
||||
}
|
||||
|
||||
public ICreateForeignKeyForeignColumnSyntax ToTable(string table)
|
||||
public ICreateForeignKeyPrimaryColumnSyntax ToTable(string table)
|
||||
{
|
||||
Expression.ForeignKey.PrimaryTable = table;
|
||||
return this;
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
{
|
||||
public interface ICreateForeignKeyToTableSyntax : IFluentSyntax
|
||||
{
|
||||
ICreateForeignKeyForeignColumnSyntax ToTable(string table);
|
||||
ICreateForeignKeyPrimaryColumnSyntax ToTable(string table);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using Umbraco.Core.Persistence.Migrations.Syntax.Execute.Expressions;
|
||||
|
||||
namespace Umbraco.Core.Persistence.Migrations.Syntax.Execute
|
||||
{
|
||||
public class ExecuteBuilder : IExecuteBuilder
|
||||
{
|
||||
private readonly IMigrationContext _context;
|
||||
|
||||
public ExecuteBuilder(IMigrationContext context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
public void Sql(string sqlStatement)
|
||||
{
|
||||
var expression = new ExecuteSqlStatementExpression {SqlStatement = sqlStatement};
|
||||
_context.Expressions.Add(expression);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Syntax.Execute.Expressions
|
||||
{
|
||||
public class ExecuteSqlStatementExpression : IMigrationExpression
|
||||
{
|
||||
public virtual string SqlStatement { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return SqlStatement;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Syntax.Execute
|
||||
{
|
||||
public interface IExecuteBuilder : IFluentSyntax
|
||||
{
|
||||
void Sql(string sqlStatement);
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,8 @@ namespace Umbraco.Core.Persistence.Migrations.Syntax.Expressions
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
if (string.IsNullOrEmpty(Column.TableName))
|
||||
Column.TableName = TableName;
|
||||
|
||||
return string.Format(SyntaxConfig.SqlSyntaxProvider.AddColumn,
|
||||
SyntaxConfig.SqlSyntaxProvider.GetQuotedTableName(TableName),
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
using System.Data;
|
||||
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionFourEightZero
|
||||
{
|
||||
[MigrationAttribute("4.8.0", 0)]
|
||||
public class RemoveUmbracoAppConstraints : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Delete.ForeignKey("FK_umbracoUser2app_umbracoApp").OnTable("umbracoUser2app");
|
||||
|
||||
Delete.ForeignKey("FK_umbracoAppTree_umbracoApp").OnTable("umbracoAppTree");
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Create.ForeignKey("FK_umbracoUser2app_umbracoApp").FromTable("umbracoUser2app").ForeignColumn("app")
|
||||
.ToTable("umbracoApp").PrimaryColumn("appAlias").OnDeleteOrUpdate(Rule.None);
|
||||
|
||||
Create.ForeignKey("FK_umbracoAppTree_umbracoApp").FromTable("umbracoAppTree").ForeignColumn("appAlias")
|
||||
.ToTable("umbracoApp").PrimaryColumn("appAlias").OnDeleteOrUpdate(Rule.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 10)]
|
||||
public class DeleteAppTables : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Delete.Table("umbracoAppTree");
|
||||
|
||||
Delete.Table("umbracoApp");
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 9)]
|
||||
public class EnsureAppsTreesUpdated : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
var e = new UpgradingEventArgs();
|
||||
|
||||
if (Upgrading != null)
|
||||
Upgrading(this, e);
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
}
|
||||
|
||||
public static event EventHandler<UpgradingEventArgs> Upgrading;
|
||||
|
||||
public class UpgradingEventArgs : EventArgs{}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 5)]
|
||||
public class MoveMasterContentTypeData : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Execute.Sql(
|
||||
"INSERT INTO [cmsContentType2ContentType] (parentContentTypeId, childContentTypeId) SELECT masterContentType, nodeId FROM [cmsContentType] WHERE not [masterContentType] is null and [masterContentType] != 0");
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 4)]
|
||||
public class NewCmsContentType2ContentTypeTable : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Create.Table("cmsContentType2ContentType")
|
||||
.WithColumn("parentContentTypeId").AsInt16().NotNullable()
|
||||
.WithColumn("childContentTypeId").AsInt16().NotNullable();
|
||||
|
||||
Create.PrimaryKey("PK_cmsContentType2ContentType")
|
||||
.OnTable("cmsContentType2ContentType")
|
||||
.Columns(new[] {"parentContentTypeId", "childContentTypeId"});
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Delete.PrimaryKey("PK_cmsContentType2ContentType").FromTable("cmsContentType2ContentType");
|
||||
|
||||
Delete.Table("cmsContentType2ContentType");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 6)]
|
||||
public class RemoveMasterContentTypeColumn : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
//NOTE Don't think we can remove this column yet as it seems to be used by some starterkits
|
||||
//Delete.UniqueConstraint("DF_cmsContentType_masterContentType").FromTable("cmsContentType");
|
||||
Delete.DefaultConstraint().OnTable("cmsContentType").OnColumn("masterContentType");
|
||||
|
||||
Delete.Column("masterContentType").FromTable("cmsContentType");
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Create.UniqueConstraint("DF_cmsContentType_masterContentType").OnTable("cmsContentType").Column("masterContentType");
|
||||
|
||||
Create.Column("masterContentType").OnTable("cmsContentType").AsInt16().Nullable().WithDefaultValue(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 0)]
|
||||
public class RenameCmsTabTable : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Rename.Table("cmsTab").To("cmsPropertyTypeGroup");
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Rename.Table("cmsPropertyTypeGroup").To("cmsTab");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 7)]
|
||||
public class RenameTabIdColumn : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Rename.Column("tabId").OnTable("cmsPropertyType").To("propertyTypeGroupId");
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Rename.Column("propertyTypeGroupId").OnTable("cmsPropertyType").To("tabId");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 3)]
|
||||
public class UpdateCmsContentTypeAllowedContentTypeTable : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Alter.Table("cmsContentTypeAllowedContentType").AddColumn("sortOrder").AsInt16().NotNullable().WithDefaultValue(1);
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Delete.Column("sortOrder").FromTable("cmsContentTypeAllowedContentType");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 2)]
|
||||
public class UpdateCmsContentTypeTable : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Alter.Table("cmsContentType").AddColumn("isContainer").AsBoolean().NotNullable().WithDefaultValue(0);
|
||||
|
||||
Alter.Table("cmsContentType").AddColumn("allowAtRoot").AsBoolean().NotNullable().WithDefaultValue(0);
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Delete.Column("allowAtRoot").FromTable("cmsContentType");
|
||||
|
||||
Delete.Column("isContainer").FromTable("cmsContentType");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 8)]
|
||||
public class UpdateCmsContentVersionTable : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Alter.Table("cmsContentVersion").AddColumn("LanguageLocale").AsString(10).Nullable();
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Delete.Column("LanguageLocale").FromTable("cmsContentVersion");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using System.Data;
|
||||
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth
|
||||
{
|
||||
[MigrationAttribute("6.0.0", 1)]
|
||||
public class UpdateCmsPropertyTypeGroupTable : MigrationBase
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
Alter.Table("cmsPropertyTypeGroup").AddColumn("parentGroupId").AsInt16().Nullable();
|
||||
|
||||
Create.UniqueConstraint("df_cmsPropertyTypeGroup_parentGroupId")
|
||||
.OnTable("cmsPropertyTypeGroup").Column("parentGroupId");
|
||||
|
||||
Create.ForeignKey("FK_cmsPropertyTypeGroup_cmsPropertyTypeGroup")
|
||||
.FromTable("cmsPropertyTypeGroup").ForeignColumn("parentGroupId")
|
||||
.ToTable("cmsPropertyTypeGroup").PrimaryColumn("id").OnDeleteOrUpdate(Rule.None);
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
Delete.ForeignKey("FK_cmsPropertyTypeGroup_cmsPropertyTypeGroup").OnTable("cmsPropertyTypeGroup");
|
||||
|
||||
Delete.UniqueConstraint("df_cmsPropertyTypeGroup_parentGroupId").FromTable("cmsPropertyTypeGroup");
|
||||
|
||||
Delete.Column("parentGroupId").FromTable("cmsPropertyTypeGroup");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -45,5 +45,6 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
string Format(ForeignKeyDefinition foreignKey);
|
||||
string FormatColumnRename(string tableName, string oldName, string newName);
|
||||
string FormatTableRename(string oldName, string newName);
|
||||
bool SupportsClustered();
|
||||
}
|
||||
}
|
||||
@@ -92,6 +92,11 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
return result > 0;
|
||||
}
|
||||
|
||||
public override bool SupportsClustered()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
protected override string FormatIdentity(ColumnDefinition column)
|
||||
{
|
||||
return column.IsIdentity ? AutoIncrementDefinition : string.Empty;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Umbraco.Core.Persistence.DatabaseAnnotations;
|
||||
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
|
||||
|
||||
@@ -36,6 +37,11 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
InitColumnTypeMap();
|
||||
}
|
||||
|
||||
public override bool SupportsClustered()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string GetIndexType(IndexTypes indexTypes)
|
||||
{
|
||||
string indexType;
|
||||
@@ -68,6 +74,21 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
return string.Format("[{0}]", name);
|
||||
}
|
||||
|
||||
public override string FormatColumnRename(string tableName, string oldName, string newName)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
//http://stackoverflow.com/questions/3967353/microsoft-sql-compact-edition-rename-column
|
||||
//Create new column
|
||||
sb.AppendFormat("UPDATE {0} SET {1} = {2}", tableName, newName, oldName);
|
||||
//Delete old column
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
public override string FormatTableRename(string oldName, string newName)
|
||||
{
|
||||
return string.Format(RenameTable, oldName, newName);
|
||||
}
|
||||
|
||||
public override string FormatPrimaryKey(TableDefinition table)
|
||||
{
|
||||
var columnDefinition = table.Columns.FirstOrDefault(x => x.IsPrimaryKey);
|
||||
@@ -128,8 +149,18 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
return null;
|
||||
}
|
||||
|
||||
public override string DeleteDefaultConstraint
|
||||
{
|
||||
get
|
||||
{
|
||||
return "ALTER TABLE {0} ALTER COLUMN {1} DROP DEFAULT";
|
||||
}
|
||||
}
|
||||
|
||||
public override string AddColumn { get { return "ALTER TABLE {0} ADD {1}"; } }
|
||||
|
||||
public override string DropIndex { get { return "DROP INDEX {1}.{0}"; } }
|
||||
|
||||
public override string RenameTable { get { return "sp_rename '{0}', '{1}'"; } }
|
||||
}
|
||||
}
|
||||
@@ -156,6 +156,11 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual bool SupportsClustered()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public virtual string Format(TableDefinition table)
|
||||
{
|
||||
var statement = string.Format(CreateTable, GetQuotedTableName(table.Name), Format(table.Columns));
|
||||
|
||||
@@ -331,6 +331,9 @@
|
||||
<Compile Include="Persistence\Migrations\Syntax\Delete\Index\IDeleteIndexForTableSyntax.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\Delete\Index\IDeleteIndexOnColumnSyntax.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\Delete\Table\DeleteTableBuilder.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\Execute\ExecuteBuilder.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\Execute\Expressions\ExecuteSqlStatementExpression.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\Execute\IExecuteBuilder.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\ExpressionBuilder.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\ExpressionBuilderBase.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\Expressions\CreateColumnExpression.cs" />
|
||||
@@ -360,6 +363,18 @@
|
||||
<Compile Include="Persistence\Migrations\Syntax\Update\IUpdateWhereSyntax.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\Update\UpdateBuilder.cs" />
|
||||
<Compile Include="Persistence\Migrations\Syntax\Update\UpdateDataBuilder.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionFourEightZero\RemoveUmbracoAppConstraints.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\DeleteAppTables.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\EnsureAppsTreesUpdated.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\MoveMasterContentTypeData.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\NewCmsContentType2ContentTypeTable.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\RemoveMasterContentTypeColumn.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\RenameTabIdColumn.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\UpdateCmsContentTypeAllowedContentTypeTable.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\UpdateCmsContentTypeTable.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\UpdateCmsContentVersionTable.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\UpdateCmsPropertyTypeGroupTable.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSixth\RenameCmsTabTable.cs" />
|
||||
<Compile Include="Persistence\PetaPocoExtensions.cs" />
|
||||
<Compile Include="Persistence\PetaPocoSqlExtensions.cs" />
|
||||
<Compile Include="Persistence\Querying\ExpressionHelper.cs" />
|
||||
|
||||
136
src/Umbraco.Tests/Migrations/SqlCeUpgradeTest.cs
Normal file
136
src/Umbraco.Tests/Migrations/SqlCeUpgradeTest.cs
Normal file
@@ -0,0 +1,136 @@
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Data.SqlServerCe;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using NUnit.Framework;
|
||||
using SQLCE4Umbraco;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.ObjectResolution;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Migrations;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using Umbraco.Core.Publishing;
|
||||
using Umbraco.Core.Services;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
|
||||
namespace Umbraco.Tests.Migrations
|
||||
{
|
||||
[TestFixture]
|
||||
public class SqlCeUpgradeTest
|
||||
{
|
||||
/// <summary>Regular expression that finds multiline block comments.</summary>
|
||||
private static readonly Regex m_findComments = new Regex(@"\/\*.*?\*\/", RegexOptions.Singleline | RegexOptions.Compiled);
|
||||
|
||||
[SetUp]
|
||||
public void Initialize()
|
||||
{
|
||||
TestHelper.SetupLog4NetForTests();
|
||||
TestHelper.InitializeContentDirectories();
|
||||
|
||||
string path = TestHelper.CurrentAssemblyDirectory;
|
||||
AppDomain.CurrentDomain.SetData("DataDirectory", path);
|
||||
|
||||
UmbracoSettings.UseLegacyXmlSchema = false;
|
||||
|
||||
//this ensures its reset
|
||||
PluginManager.Current = new PluginManager(false);
|
||||
|
||||
//for testing, we'll specify which assemblies are scanned for the PluginTypeResolver
|
||||
PluginManager.Current.AssembliesToScan = new[]
|
||||
{
|
||||
typeof (MigrationRunner).Assembly
|
||||
};
|
||||
|
||||
RepositoryResolver.Current = new RepositoryResolver(
|
||||
new RepositoryFactory());
|
||||
|
||||
//Delete database file before continueing
|
||||
string filePath = string.Concat(path, "\\UmbracoPetaPocoTests.sdf");
|
||||
if (File.Exists(filePath))
|
||||
{
|
||||
File.Delete(filePath);
|
||||
}
|
||||
|
||||
//Get the connectionstring settings from config
|
||||
var settings = ConfigurationManager.ConnectionStrings["umbracoDbDsn"];
|
||||
ConfigurationManager.AppSettings.Set("umbracoDbDSN", @"datalayer=SQLCE4Umbraco.SqlCEHelper,SQLCE4Umbraco;data source=|DataDirectory|\UmbracoPetaPocoTests.sdf");
|
||||
|
||||
//Create the Sql CE database
|
||||
var engine = new SqlCeEngine(settings.ConnectionString);
|
||||
engine.CreateDatabase();
|
||||
|
||||
Resolution.Freeze();
|
||||
ApplicationContext.Current = new ApplicationContext(
|
||||
//assign the db context
|
||||
new DatabaseContext(new DefaultDatabaseFactory()),
|
||||
//assign the service context
|
||||
new ServiceContext(new PetaPocoUnitOfWorkProvider(), new FileUnitOfWorkProvider(), new PublishingStrategy())) { IsReady = true };
|
||||
|
||||
ApplicationContext.Current.DatabaseContext.Initialize();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Upgrade_From_470_To_600()
|
||||
{
|
||||
var configuredVersion = new Version("4.7.0");
|
||||
var targetVersion = new Version("6.0.0");
|
||||
var db = ApplicationContext.Current.DatabaseContext.Database;
|
||||
|
||||
//Create db schema and data from old Total.sql file for Sql Ce
|
||||
string statements = SqlScripts.SqlResources.SqlCeTotal_480;
|
||||
// replace block comments by whitespace
|
||||
statements = m_findComments.Replace(statements, " ");
|
||||
// execute all non-empty statements
|
||||
foreach (string statement in statements.Split(";".ToCharArray()))
|
||||
{
|
||||
string rawStatement = statement.Trim();
|
||||
if (rawStatement.Length > 0)
|
||||
db.Execute(rawStatement);
|
||||
}
|
||||
|
||||
//Setup the MigrationRunner
|
||||
var migrationRunner = new MigrationRunner(configuredVersion, targetVersion);
|
||||
bool upgraded = migrationRunner.Execute(db, true);
|
||||
|
||||
Assert.That(upgraded, Is.True);
|
||||
|
||||
bool hasTabTable = db.TableExist("cmsTab");
|
||||
bool hasPropertyTypeGroupTable = db.TableExist("cmsPropertyTypeGroup");
|
||||
bool hasAppTreeTable = db.TableExist("umbracoAppTree");
|
||||
|
||||
Assert.That(hasTabTable, Is.False);
|
||||
Assert.That(hasPropertyTypeGroupTable, Is.True);
|
||||
Assert.That(hasAppTreeTable, Is.False);
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
ApplicationContext.Current.DatabaseContext.Database.Dispose();
|
||||
//reset the app context
|
||||
ApplicationContext.Current.ApplicationCache.ClearAllCache();
|
||||
|
||||
//legacy API database connection close
|
||||
SqlCeContextGuardian.CloseBackgroundConnection();
|
||||
|
||||
PluginManager.Current = null;
|
||||
|
||||
ApplicationContext.Current = null;
|
||||
Resolution.IsFrozen = false;
|
||||
RepositoryResolver.Reset();
|
||||
|
||||
TestHelper.CleanContentDirectories();
|
||||
|
||||
string path = TestHelper.CurrentAssemblyDirectory;
|
||||
AppDomain.CurrentDomain.SetData("DataDirectory", null);
|
||||
|
||||
string filePath = string.Concat(path, "\\UmbracoPetaPocoTests.sdf");
|
||||
if (File.Exists(filePath))
|
||||
{
|
||||
File.Delete(filePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
831
src/Umbraco.Tests/Migrations/SqlScripts/MySqlTotal-480.sql
Normal file
831
src/Umbraco.Tests/Migrations/SqlScripts/MySqlTotal-480.sql
Normal file
@@ -0,0 +1,831 @@
|
||||
/*******************************************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Umbraco database installation script for MySQL
|
||||
|
||||
IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
|
||||
|
||||
Database version: 4.8.0.4
|
||||
|
||||
Please increment this version number if ANY change is made to this script,
|
||||
so compatibility with scripts for other database systems can be verified easily.
|
||||
The first 3 digits depict the Umbraco version, the last digit is the database version.
|
||||
(e.g. version 4.0.0.3 means "Umbraco version 4.0.0, database version 3")
|
||||
|
||||
Check-in policy: only commit this script if
|
||||
* you ran the Umbraco installer completely;
|
||||
* you ran it on the targetted database system;
|
||||
* you ran the Boost and Nitro installation;
|
||||
* you were able to browse the Boost site;
|
||||
* you were able to open the Umbraco administration panel;
|
||||
* you have documented the code change in this script;
|
||||
* you have incremented the version number in this script.
|
||||
|
||||
IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
********************************************************************************************/
|
||||
|
||||
CREATE TABLE umbracoRelation
|
||||
(
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
parentId int NOT NULL,
|
||||
childId int NOT NULL,
|
||||
relType int NOT NULL,
|
||||
datetime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
comment nvarchar (1000) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsDocument
|
||||
(
|
||||
nodeId int NOT NULL,
|
||||
published bit NOT NULL,
|
||||
documentUser int NOT NULL,
|
||||
versionId CHAR(36) NOT NULL PRIMARY KEY,
|
||||
text nvarchar (255) NOT NULL,
|
||||
releaseDate datetime NULL,
|
||||
expireDate datetime NULL,
|
||||
updateDate TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
templateId int NULL,
|
||||
alias nvarchar (255) NULL ,
|
||||
newest bit NOT NULL DEFAULT 0
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE umbracoLog
|
||||
(
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
userId int NOT NULL,
|
||||
NodeId int NOT NULL,
|
||||
Datestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
logHeader nvarchar (50) NOT NULL,
|
||||
logComment nvarchar (4000) NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE umbracoUserGroup
|
||||
(
|
||||
id smallint NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
userGroupName nvarchar (255) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
|
||||
/* TABLE IS NEVER USED, REMOVED FOR 4.1
|
||||
|
||||
CREATE TABLE umbracoUser2userGroup
|
||||
(
|
||||
user int NOT NULL,
|
||||
userGroup smallint NOT NULL
|
||||
)
|
||||
;
|
||||
ALTER TABLE umbracoUser2userGroup ADD CONSTRAINT PK_user2userGroup PRIMARY KEY CLUSTERED (user, userGroup)
|
||||
;
|
||||
|
||||
*/
|
||||
|
||||
CREATE TABLE umbracoApp
|
||||
(
|
||||
sortOrder tinyint NOT NULL DEFAULT 0,
|
||||
appAlias nvarchar (50) PRIMARY KEY NOT NULL,
|
||||
appIcon nvarchar (255) NOT NULL,
|
||||
appName nvarchar (255) NOT NULL,
|
||||
appInitWithTreeAlias nvarchar (255) NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsPropertyData
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
contentNodeId int NOT NULL,
|
||||
versionId CHAR(36) NULL,
|
||||
propertytypeid int NOT NULL,
|
||||
dataInt int NULL,
|
||||
dataDate datetime NULL,
|
||||
dataNvarchar nvarchar (500) NULL,
|
||||
dataNtext LONGTEXT NULL
|
||||
)
|
||||
;
|
||||
CREATE INDEX IX_cmsPropertyData_1 ON cmsPropertyData (contentNodeId)
|
||||
;
|
||||
CREATE INDEX IX_cmsPropertyData_2 ON cmsPropertyData (versionId)
|
||||
;
|
||||
CREATE INDEX IX_cmsPropertyData_3 ON cmsPropertyData (propertytypeid)
|
||||
;
|
||||
CREATE TABLE cmsContent
|
||||
(
|
||||
pk int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
nodeId int NOT NULL,
|
||||
contentType int NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsContentType
|
||||
(
|
||||
pk int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
nodeId int NOT NULL,
|
||||
alias nvarchar (255) NULL,
|
||||
icon nvarchar (255) NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsMacroPropertyType
|
||||
(
|
||||
id smallint NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
macroPropertyTypeAlias nvarchar (50) NULL,
|
||||
macroPropertyTypeRenderAssembly nvarchar (255) NULL,
|
||||
macroPropertyTypeRenderType nvarchar (255) NULL,
|
||||
macroPropertyTypeBaseType nvarchar (255) NULL
|
||||
)
|
||||
;
|
||||
|
||||
/* TABLE IS NEVER USED, REMOVED FOR 4.1
|
||||
|
||||
CREATE TABLE umbracoStylesheetProperty
|
||||
(
|
||||
id smallint NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
stylesheetPropertyEditor bit NOT NULL DEFAULT 0,
|
||||
stylesheet tinyint NOT NULL,
|
||||
stylesheetPropertyAlias nvarchar (50) NULL,
|
||||
stylesheetPropertyName nvarchar (255) NULL,
|
||||
stylesheetPropertyValue nvarchar (400) NULL
|
||||
)
|
||||
;
|
||||
|
||||
*/
|
||||
|
||||
CREATE TABLE cmsTab
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
contenttypeNodeId int NOT NULL,
|
||||
text nvarchar (255) NOT NULL,
|
||||
sortorder int NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsTemplate
|
||||
(
|
||||
pk int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
nodeId int NOT NULL,
|
||||
master int NULL,
|
||||
alias nvarchar (100) NULL,
|
||||
design LONGTEXT NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE umbracoUser2app
|
||||
(
|
||||
user int NOT NULL,
|
||||
app nvarchar (50) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE umbracoUser2app ADD CONSTRAINT PK_user2app PRIMARY KEY CLUSTERED (user, app)
|
||||
;
|
||||
CREATE TABLE umbracoUserType
|
||||
(
|
||||
id smallint NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
userTypeAlias nvarchar (50) NULL,
|
||||
userTypeName nvarchar (255) NOT NULL,
|
||||
userTypeDefaultPermissions nvarchar (50) NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE umbracoUser
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
userDisabled bit NOT NULL DEFAULT 0,
|
||||
userNoConsole bit NOT NULL DEFAULT 0,
|
||||
userType smallint NOT NULL,
|
||||
startStructureID int NOT NULL,
|
||||
startMediaID int NULL,
|
||||
userName nvarchar (255) NOT NULL,
|
||||
userLogin nvarchar (125) NOT NULL,
|
||||
userPassword nvarchar (125) NOT NULL,
|
||||
userEmail nvarchar (255) NOT NULL,
|
||||
userDefaultPermissions nvarchar (50) NULL,
|
||||
userLanguage nvarchar (10) NULL ,
|
||||
defaultToLiveEditing bit NOT NULL DEFAULT 0
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsDocumentType
|
||||
(
|
||||
contentTypeNodeId int NOT NULL,
|
||||
templateNodeId int NOT NULL,
|
||||
IsDefault bit NOT NULL DEFAULT 0
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE cmsDocumentType ADD CONSTRAINT PK_cmsDocumentType PRIMARY KEY CLUSTERED (contentTypeNodeId, templateNodeId)
|
||||
;
|
||||
CREATE TABLE cmsMemberType
|
||||
(
|
||||
pk int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
NodeId int NOT NULL,
|
||||
propertytypeId int NOT NULL,
|
||||
memberCanEdit bit NOT NULL DEFAULT 0,
|
||||
viewOnProfile bit NOT NULL DEFAULT 0
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsMember
|
||||
(
|
||||
nodeId int NOT NULL,
|
||||
Email nvarchar (1000) NOT NULL DEFAULT '',
|
||||
LoginName nvarchar (1000) NOT NULL DEFAULT '',
|
||||
Password nvarchar (1000) NOT NULL DEFAULT ''
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE umbracoNode
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY,
|
||||
trashed bit NOT NULL DEFAULT 0,
|
||||
parentID int NOT NULL,
|
||||
nodeUser int NULL,
|
||||
level smallint NOT NULL,
|
||||
path nvarchar (150) NOT NULL,
|
||||
sortOrder int NOT NULL,
|
||||
uniqueID CHAR(36) NULL,
|
||||
text nvarchar (255) NULL,
|
||||
nodeObjectType CHAR(36) NULL,
|
||||
createDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
)
|
||||
|
||||
;
|
||||
CREATE INDEX IX_umbracoNodeParentId ON umbracoNode (parentID)
|
||||
;
|
||||
CREATE INDEX IX_umbracoNodeObjectType ON umbracoNode (nodeObjectType)
|
||||
;
|
||||
CREATE TABLE cmsPropertyType
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
dataTypeId int NOT NULL,
|
||||
contentTypeId int NOT NULL,
|
||||
tabId int NULL,
|
||||
Alias nvarchar (255) NOT NULL,
|
||||
Name nvarchar (255) NULL,
|
||||
helpText nvarchar (1000) NULL,
|
||||
sortOrder int NOT NULL DEFAULT 0,
|
||||
mandatory bit NOT NULL DEFAULT 0,
|
||||
validationRegExp nvarchar (255) NULL,
|
||||
Description nvarchar (2000) NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsMacroProperty
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
macroPropertyHidden bit NOT NULL DEFAULT 0,
|
||||
macroPropertyType smallint NOT NULL,
|
||||
macro int NOT NULL,
|
||||
macroPropertySortOrder tinyint NOT NULL DEFAULT 0,
|
||||
macroPropertyAlias nvarchar (50) NOT NULL,
|
||||
macroPropertyName nvarchar (255) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsMacro
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
macroUseInEditor bit NOT NULL DEFAULT 0,
|
||||
macroRefreshRate int NOT NULL DEFAULT 0,
|
||||
macroAlias nvarchar (255) NOT NULL,
|
||||
macroName nvarchar (255) NULL,
|
||||
macroScriptType nvarchar (255) NULL,
|
||||
macroScriptAssembly nvarchar (255) NULL,
|
||||
macroXSLT nvarchar (255) NULL,
|
||||
macroCacheByPage bit NOT NULL DEFAULT 1,
|
||||
macroCachePersonalized bit NOT NULL DEFAULT 0,
|
||||
macroDontRender bit NOT NULL DEFAULT 0
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsContentVersion
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
ContentId int NOT NULL,
|
||||
VersionId CHAR(36) NOT NULL,
|
||||
VersionDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE umbracoAppTree
|
||||
(
|
||||
treeSilent bit NOT NULL DEFAULT 0,
|
||||
treeInitialize bit NOT NULL DEFAULT 1,
|
||||
treeSortOrder tinyint NOT NULL,
|
||||
appAlias nvarchar (50) NOT NULL,
|
||||
treeAlias nvarchar (150) NOT NULL,
|
||||
treeTitle nvarchar (255) NOT NULL,
|
||||
treeIconClosed nvarchar (255) NOT NULL,
|
||||
treeIconOpen nvarchar (255) NOT NULL,
|
||||
treeHandlerAssembly nvarchar (255) NOT NULL,
|
||||
treeHandlerType nvarchar (255) NOT NULL,
|
||||
action nvarchar (300) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE umbracoAppTree ADD CONSTRAINT PK_umbracoAppTree PRIMARY KEY CLUSTERED (appAlias, treeAlias)
|
||||
;
|
||||
CREATE TABLE cmsContentTypeAllowedContentType
|
||||
(
|
||||
Id int NOT NULL,
|
||||
AllowedId int NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE cmsContentTypeAllowedContentType ADD CONSTRAINT PK_cmsContentTypeAllowedContentType PRIMARY KEY CLUSTERED (Id, AllowedId)
|
||||
;
|
||||
CREATE TABLE cmsContentXml
|
||||
(
|
||||
nodeId int NOT NULL PRIMARY KEY,
|
||||
xml LONGTEXT NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsDataType
|
||||
(
|
||||
pk int NOT NULL PRIMARY KEY AUTO_INCREMENT PRIMARY KEY,
|
||||
nodeId int NOT NULL,
|
||||
controlId CHAR(36) NOT NULL,
|
||||
dbType varchar (50) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsDataTypePreValues
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
datatypeNodeId int NOT NULL,
|
||||
value NVARCHAR(2500) NULL,
|
||||
sortorder int NOT NULL,
|
||||
alias nvarchar (50) NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsDictionary
|
||||
(
|
||||
pk int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
id CHAR(36) NOT NULL,
|
||||
parent CHAR(36) NOT NULL,
|
||||
`key` nvarchar (1000) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsLanguageText
|
||||
(
|
||||
pk int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
languageId int NOT NULL,
|
||||
UniqueId CHAR(36) NOT NULL,
|
||||
value nvarchar (1000) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsMember2MemberGroup
|
||||
(
|
||||
Member int NOT NULL,
|
||||
MemberGroup int NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE cmsMember2MemberGroup ADD CONSTRAINT PK_cmsMember2MemberGroup PRIMARY KEY CLUSTERED (Member, MemberGroup)
|
||||
;
|
||||
CREATE TABLE cmsStylesheet
|
||||
(
|
||||
nodeId int NOT NULL,
|
||||
filename nvarchar (100) NOT NULL,
|
||||
content LONGTEXT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE cmsStylesheetProperty
|
||||
(
|
||||
nodeId int NOT NULL,
|
||||
stylesheetPropertyEditor bit NULL,
|
||||
stylesheetPropertyAlias nvarchar (50) NULL,
|
||||
stylesheetPropertyValue nvarchar (400) NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE umbracoDomains
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
domainDefaultLanguage int NULL,
|
||||
domainRootStructureID int NULL,
|
||||
domainName nvarchar (255) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE umbracoLanguage
|
||||
(
|
||||
id smallint NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
languageISOCode nvarchar (10) NULL,
|
||||
languageCultureName nvarchar (100) NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE umbracoRelationType
|
||||
(
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
`dual` bit NOT NULL,
|
||||
parentObjectType CHAR(36) NOT NULL,
|
||||
childObjectType CHAR(36) NOT NULL,
|
||||
name nvarchar (255) NOT NULL,
|
||||
alias nvarchar (100) NULL
|
||||
)
|
||||
;
|
||||
|
||||
/* TABLE IS NEVER USED, REMOVED FOR 4.1
|
||||
|
||||
CREATE TABLE umbracoStylesheet
|
||||
(
|
||||
nodeId int NOT NULL PRIMARY KEY,
|
||||
filename nvarchar (100) NOT NULL,
|
||||
content LONGTEXT NULL
|
||||
)
|
||||
;
|
||||
|
||||
*/
|
||||
|
||||
CREATE TABLE umbracoUser2NodeNotify
|
||||
(
|
||||
userId int NOT NULL,
|
||||
nodeId int NOT NULL,
|
||||
action char (1) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE umbracoUser2NodeNotify ADD CONSTRAINT PK_umbracoUser2NodeNotify PRIMARY KEY CLUSTERED (userId, nodeId, action)
|
||||
;
|
||||
CREATE TABLE umbracoUser2NodePermission
|
||||
(
|
||||
userId int NOT NULL,
|
||||
nodeId int NOT NULL,
|
||||
permission char (1) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE umbracoUser2NodePermission ADD CONSTRAINT PK_umbracoUser2NodePermission PRIMARY KEY CLUSTERED (userId, nodeId, permission)
|
||||
;
|
||||
CREATE TABLE umbracoUserLogins
|
||||
(
|
||||
contextId CHAR(36) NOT NULL,
|
||||
userID int NOT NULL,
|
||||
timeout bigint NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
INSERT INTO umbracoNode (id, trashed, parentID, nodeUser, level, path, sortOrder, uniqueID, text, nodeObjectType, createDate) VALUES
|
||||
(-92, 0, -1, 0, 11, '-1,-92', 37, 'f0bc4bfb-b499-40d6-ba86-058885a5178c', 'Label', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/09/30 14:01:49.920'),
|
||||
(-90, 0, -1, 0, 11, '-1,-90', 35, '84c6b441-31df-4ffe-b67e-67d5bc3ae65a', 'Upload', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/09/30 14:01:49.920'),
|
||||
(-89, 0, -1, 0, 11, '-1,-89', 34, 'c6bac0dd-4ab9-45b1-8e30-e4b619ee5da3', 'Textbox multiple', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/09/30 14:01:49.920'),
|
||||
(-88, 0, -1, 0, 11, '-1,-88', 33, '0cc0eba1-9960-42c9-bf9b-60e150b429ae', 'Textstring', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/09/30 14:01:49.920'),
|
||||
(-87, 0, -1, 0, 11, '-1,-87', 32, 'ca90c950-0aff-4e72-b976-a30b1ac57dad', 'Richtext editor', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/09/30 14:01:49.920'),
|
||||
(-51, 0, -1, 0, 11, '-1,-51', 4, '2e6d3631-066e-44b8-aec4-96f09099b2b5', 'Numeric', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/09/30 14:01:49.920'),
|
||||
(-49, 0, -1, 0, 11, '-1,-49', 2, '92897bc6-a5f3-4ffe-ae27-f2e7e33dda49', 'True/false', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/09/30 14:01:49.920'),
|
||||
(-43, 0, -1, 0, 1, '-1,-43', 2, 'fbaf13a8-4036-41f2-93a3-974f678c312a', 'Checkbox list', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/10/15 14:11:04.367'),
|
||||
(-42, 0, -1, 0, 1, '-1,-42', 2, '0b6a45e7-44ba-430d-9da5-4e46060b9e03', 'Dropdow', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/10/15 14:10:59.000'),
|
||||
(-41, 0, -1, 0, 1, '-1,-41', 2, '5046194e-4237-453c-a547-15db3a07c4e1', 'Date Picker', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/10/15 14:10:54.303'),
|
||||
(-40, 0, -1, 0, 1, '-1,-40', 2, 'bb5f57c9-ce2b-4bb9-b697-4caca783a805', 'Radiobox', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/10/15 14:10:49.253'),
|
||||
(-39, 0, -1, 0, 1, '-1,-39', 2, 'f38f0ac7-1d27-439c-9f3f-089cd8825a53', 'Dropdown multiple', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/10/15 14:10:44.480'),
|
||||
(-38, 0, -1, 0, 1, '-1,-38', 2, 'fd9f1447-6c61-4a7c-9595-5aa39147d318', 'Folder Browser', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/10/15 14:10:37.020'),
|
||||
(-37, 0, -1, 0, 1, '-1,-37', 2, '0225af17-b302-49cb-9176-b9f35cab9c17', 'Approved Color', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/10/15 14:10:30.580'),
|
||||
(-36, 0, -1, 0, 1, '-1,-36', 2, 'e4d66c0f-b935-4200-81f0-025f7256b89a', 'Date Picker with time', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2004/10/15 14:10:23.007'),
|
||||
(-20, 0, -1, 0, 0, '-1,-20', 0, '0F582A79-1E41-4CF0-BFA0-76340651891A', 'Recycle Bin', '01BB7FF2-24DC-4C0C-95A2-C24EF72BBAC8', '2004/09/30 14:01:49.920'),
|
||||
(-1, 0, -1, 0, 0, '-1', 0, '916724a5-173d-4619-b97e-b9de133dd6f5', 'SYSTEM DATA: umbraco master root', 'ea7d8624-4cfe-4578-a871-24aa946bf34d', '2004/09/30 14:01:49.920'),
|
||||
(1031, 0, -1, 1, 1, '-1,1031', 2, 'f38bd2d7-65d0-48e6-95dc-87ce06ec2d3d', 'Folder', '4ea4382b-2f5a-4c2b-9587-ae9b3cf3602e', '2004/12/01 00:13:40.743'),
|
||||
(1032, 0, -1, 1, 1, '-1,1032', 2, 'cc07b313-0843-4aa8-bbda-871c8da728c8', 'Image', '4ea4382b-2f5a-4c2b-9587-ae9b3cf3602e', '2004/12/01 00:13:43.737'),
|
||||
(1033, 0, -1, 1, 1, '-1,1033', 2, '4c52d8ab-54e6-40cd-999c-7a5f24903e4d', 'File', '4ea4382b-2f5a-4c2b-9587-ae9b3cf3602e', '2004/12/01 00:13:46.210'),
|
||||
(1034, 0, -1, 0, 1, '-1,1034', 2, 'a6857c73-d6e9-480c-b6e6-f15f6ad11125', 'Content Picker', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2006/01/03 13:07:29.203'),
|
||||
(1035, 0, -1, 0, 1, '-1,1035', 2, '93929b9a-93a2-4e2a-b239-d99334440a59', 'Media Picker', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2006/01/03 13:07:36.143'),
|
||||
(1036, 0, -1, 0, 1, '-1,1036', 2, '2b24165f-9782-4aa3-b459-1de4a4d21f60', 'Member Picker', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2006/01/03 13:07:40.260'),
|
||||
(1038, 0, -1, 0, 1, '-1,1038', 2, '1251c96c-185c-4e9b-93f4-b48205573cbd', 'Simple Editor', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2006/01/03 13:07:55.250'),
|
||||
(1039, 0, -1, 0, 1, '-1,1039', 2, '06f349a9-c949-4b6a-8660-59c10451af42', 'Ultimate Picker', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2006/01/03 13:07:55.250'),
|
||||
(1040, 0, -1, 0, 1, '-1,1040', 2, '21e798da-e06e-4eda-a511-ed257f78d4fa', 'Related Links', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2006/01/03 13:07:55.250'),
|
||||
(1041, 0, -1, 0, 1, '-1,1041', 2, 'b6b73142-b9c1-4bf8-a16d-e1c23320b549', 'Tags', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2006/01/03 13:07:55.250'),
|
||||
(1042, 0, -1, 0, 1, '-1,1042', 2, '0a452bd5-83f9-4bc3-8403-1286e13fb77e', 'Macro Container', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2006/01/03 13:07:55.250'),
|
||||
(1043, 0, -1, 0, 1, '-1,1042', 2, '1df9f033-e6d4-451f-b8d2-e0cbc50a836f', 'Image Cropper', '30a2a501-1978-4ddb-a57b-f7efed43ba3c', '2006/01/03 13:07:55.250')
|
||||
;
|
||||
|
||||
INSERT INTO cmsContentType (pk, nodeId, alias, icon) VALUES
|
||||
(532, 1031, 'Folder', 'folder.gif'),
|
||||
(533, 1032, 'Image', 'mediaPhoto.gif'),
|
||||
(534, 1033, 'File', 'mediaMulti.gif')
|
||||
;
|
||||
INSERT INTO umbracoUserType (id, userTypeAlias, userTypeName, userTypeDefaultPermissions) VALUES
|
||||
(1, 'admin', 'Administrators', 'CADMOSKTPIURZ5:'),
|
||||
(2, 'writer', 'Writer', 'CAH:'),
|
||||
(3, 'editor', 'Editors', 'CADMOSKTPUZ5:'),
|
||||
(4, 'translator', 'Translator', 'A')
|
||||
;
|
||||
INSERT INTO umbracoUser (id, userDisabled, userNoConsole, userType, startStructureID, startMediaID, userName, userLogin, userPassword, userEmail, userDefaultPermissions, userLanguage) VALUES (0, 0, 0, 1, -1, -1, 'Administrator', 'admin', 'default', '', NULL, 'en')
|
||||
;
|
||||
UPDATE umbracoUser SET id=0 WHERE id=1 AND userLogin='admin'
|
||||
;
|
||||
INSERT INTO umbracoApp (appAlias, sortOrder, appIcon, appName, appInitWithTreeAlias) VALUES
|
||||
('content', 0, '.traycontent', 'Indhold', 'content'),
|
||||
('developer', 7, '.traydeveloper', 'Developer', NULL),
|
||||
('media', 1, '.traymedia', 'Mediearkiv', NULL),
|
||||
('member', 8, '.traymember', 'Medlemmer', NULL),
|
||||
('settings', 6, '.traysettings', 'Indstillinger', NULL),
|
||||
('users', 5, '.trayusers', 'Brugere', NULL)
|
||||
;
|
||||
INSERT INTO umbracoUser2app (user, app) VALUES
|
||||
(0, 'content'),
|
||||
(0, 'developer'),
|
||||
(0, 'media'),
|
||||
(0, 'member'),
|
||||
(0, 'settings'),
|
||||
(0, 'users')
|
||||
;
|
||||
INSERT INTO umbracoAppTree (appAlias, treeAlias, treeSilent, treeInitialize, treeSortOrder, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType) VALUES
|
||||
('content', 'content', 1, 1, 0, 'Indhold', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadContent'),
|
||||
('developer', 'cacheBrowser', 0, 1, 0, 'CacheBrowser', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadCache'),
|
||||
('developer', 'CacheItem', 0, 0, 0, 'Cachebrowser', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadCacheItem'),
|
||||
('developer', 'datatype', 0, 1, 1, 'Datatyper', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadDataTypes'),
|
||||
('developer', 'macros', 0, 1, 2, 'Macros', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadMacros'),
|
||||
('developer', 'xslt', 0, 1, 5, 'XSLT Files', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadXslt'),
|
||||
|
||||
('developer', 'packager', 0, 1, 3, 'Packages', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadPackager'),
|
||||
('developer', 'packagerPackages', 0, 0, 1, 'Packager Packages', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadPackages'),
|
||||
|
||||
('media', 'media', 0, 1, 0, 'Medier', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadMedia'),
|
||||
('member', 'member', 0, 1, 0, 'Medlemmer', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadMembers'),
|
||||
('member', 'memberGroup', 0, 1, 1, 'MemberGroups', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadMemberGroups'),
|
||||
('member', 'memberType', 0, 1, 2, 'Medlemstyper', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadMemberTypes'),
|
||||
('settings', 'languages', 0, 1, 4, 'Languages', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadLanguages'),
|
||||
('settings', 'mediaTypes', 0, 1, 5, 'Medietyper', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadMediaTypes'),
|
||||
('settings', 'nodeTypes', 0, 1, 6, 'Dokumenttyper', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadNodeTypes'),
|
||||
('settings', 'stylesheetProperty', 0, 0, 0, 'Stylesheet Property', '', '', 'umbraco', 'loadStylesheetProperty'),
|
||||
('settings', 'stylesheets', 0, 1, 0, 'Stylesheets', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadStylesheets'),
|
||||
('settings', 'templates', 0, 1, 1, 'Templates', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadTemplates'),
|
||||
('users', 'users', 0, 1, 0, 'Brugere', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadUsers')
|
||||
;
|
||||
|
||||
INSERT INTO umbracoAppTree (appAlias, treeAlias, treeSilent, treeInitialize, treeSortOrder, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType, action) VALUES
|
||||
('settings', 'dictionary', 0, 1, 3, 'Dictionary', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadDictionary','openDictionary()')
|
||||
;
|
||||
|
||||
INSERT INTO cmsMacroPropertyType (id, macroPropertyTypeAlias, macroPropertyTypeRenderAssembly, macroPropertyTypeRenderType, macroPropertyTypeBaseType) VALUES
|
||||
(3, 'mediaCurrent', 'umbraco.macroRenderings', 'media', 'Int32'),
|
||||
(4, 'contentSubs', 'umbraco.macroRenderings', 'content', 'Int32'),
|
||||
(5, 'contentRandom', 'umbraco.macroRenderings', 'content', 'Int32'),
|
||||
(6, 'contentPicker', 'umbraco.macroRenderings', 'content', 'Int32'),
|
||||
(13, 'number', 'umbraco.macroRenderings', 'numeric', 'Int32'),
|
||||
(14, 'bool', 'umbraco.macroRenderings', 'yesNo', 'Boolean'),
|
||||
(16, 'text', 'umbraco.macroRenderings', 'text', 'String'),
|
||||
(17, 'contentTree', 'umbraco.macroRenderings', 'content', 'Int32'),
|
||||
(18, 'contentType', 'umbraco.macroRenderings', 'contentTypeSingle', 'Int32'),
|
||||
(19, 'contentTypeMultiple', 'umbraco.macroRenderings', 'contentTypeMultiple', 'Int32'),
|
||||
(20, 'contentAll', 'umbraco.macroRenderings', 'content', 'Int32'),
|
||||
(21, 'tabPicker', 'umbraco.macroRenderings', 'tabPicker', 'String'),
|
||||
(22, 'tabPickerMultiple', 'umbraco.macroRenderings', 'tabPickerMultiple', 'String'),
|
||||
(23, 'propertyTypePicker', 'umbraco.macroRenderings', 'propertyTypePicker', 'String'),
|
||||
(24, 'propertyTypePickerMultiple', 'umbraco.macroRenderings', 'propertyTypePickerMultiple', 'String'),
|
||||
(25, 'textMultiLine', 'umbraco.macroRenderings', 'textMultiple', 'String')
|
||||
;
|
||||
INSERT INTO cmsTab (id, contenttypeNodeId, text, sortorder) VALUES
|
||||
(3, 1032, 'Image', 1),
|
||||
(4, 1033, 'File', 1),
|
||||
(5, 1031, 'Contents', 1)
|
||||
;
|
||||
INSERT INTO cmsPropertyType (id, dataTypeId, contentTypeId, tabId, Alias, Name, helpText, sortOrder, mandatory, validationRegExp, Description) VALUES
|
||||
(6, -90, 1032, 3, 'umbracoFile', 'Upload image', NULL, 0, 0, NULL, NULL),
|
||||
(7, -92, 1032, 3, 'umbracoWidth', 'Width', NULL, 0, 0, NULL, NULL),
|
||||
(8, -92, 1032, 3, 'umbracoHeight', 'Height', NULL, 0, 0, NULL, NULL),
|
||||
(9, -92, 1032, 3, 'umbracoBytes', 'Size', NULL, 0, 0, NULL, NULL),
|
||||
(10, -92, 1032, 3, 'umbracoExtension', 'Type', NULL, 0, 0, NULL, NULL),
|
||||
(24, -90, 1033, 4, 'umbracoFile', 'Upload file', NULL, 0, 0, NULL, NULL),
|
||||
(25, -92, 1033, 4, 'umbracoExtension', 'Type', NULL, 0, 0, NULL, NULL),
|
||||
(26, -92, 1033, 4, 'umbracoBytes', 'Size', NULL, 0, 0, NULL, NULL),
|
||||
(27, -38, 1031, 5, 'contents', 'Contents:', NULL, 0, 0, NULL, NULL)
|
||||
;
|
||||
INSERT INTO umbracoLanguage (id, languageISOCode, languageCultureName) VALUES (1, 'en-US', 'en-US')
|
||||
;
|
||||
INSERT INTO cmsContentTypeAllowedContentType (Id, AllowedId) VALUES (1031, 1031),(1031, 1032),(1031, 1033)
|
||||
;
|
||||
INSERT INTO cmsDataType (pk, nodeId, controlId, dbType) VALUES
|
||||
(4, -49, '38b352c1-e9f8-4fd8-9324-9a2eab06d97a', 'Integer'),
|
||||
(6, -51, '1413afcb-d19a-4173-8e9a-68288d2a73b8', 'Integer'),
|
||||
(8, -87, '5E9B75AE-FACE-41c8-B47E-5F4B0FD82F83', 'Ntext'),
|
||||
(9, -88, 'ec15c1e5-9d90-422a-aa52-4f7622c63bea', 'Nvarchar'),
|
||||
(10, -89, '67db8357-ef57-493e-91ac-936d305e0f2a', 'Ntext'),
|
||||
(11, -90, '5032a6e6-69e3-491d-bb28-cd31cd11086c', 'Nvarchar'),
|
||||
(12, -91, 'a74ea9c9-8e18-4d2a-8cf6-73c6206c5da6', 'Nvarchar'),
|
||||
(13, -92, '6c738306-4c17-4d88-b9bd-6546f3771597', 'Nvarchar'),
|
||||
(14, -36, 'b6fb1622-afa5-4bbf-a3cc-d9672a442222', 'Date'),
|
||||
(15, -37, 'f8d60f68-ec59-4974-b43b-c46eb5677985', 'Nvarchar'),
|
||||
(16, -38, 'cccd4ae9-f399-4ed2-8038-2e88d19e810c', 'Nvarchar'),
|
||||
(17, -39, '928639ed-9c73-4028-920c-1e55dbb68783', 'Nvarchar'),
|
||||
(18, -40, 'a52c7c1c-c330-476e-8605-d63d3b84b6a6', 'Nvarchar'),
|
||||
(19, -41, '23e93522-3200-44e2-9f29-e61a6fcbb79a', 'Date'),
|
||||
(20, -42, 'a74ea9c9-8e18-4d2a-8cf6-73c6206c5da6', 'Integer'),
|
||||
(21, -43, 'b4471851-82b6-4c75-afa4-39fa9c6a75e9', 'Nvarchar'),
|
||||
(22, -44, 'a3776494-0574-4d93-b7de-efdfdec6f2d1', 'Ntext'),
|
||||
(23, -128, 'a52c7c1c-c330-476e-8605-d63d3b84b6a6', 'Nvarchar'),
|
||||
(24, -129, '928639ed-9c73-4028-920c-1e55dbb68783', 'Nvarchar'),
|
||||
(25, -130, 'a74ea9c9-8e18-4d2a-8cf6-73c6206c5da6', 'Nvarchar'),
|
||||
(26, -131, 'a74ea9c9-8e18-4d2a-8cf6-73c6206c5da6', 'Nvarchar'),
|
||||
(27, -132, 'a74ea9c9-8e18-4d2a-8cf6-73c6206c5da6', 'Nvarchar'),
|
||||
(28, -133, '6c738306-4c17-4d88-b9bd-6546f3771597', 'Ntext'),
|
||||
(29, -134, '928639ed-9c73-4028-920c-1e55dbb68783', 'Nvarchar'),
|
||||
(30, -50, 'aaf99bb2-dbbe-444d-a296-185076bf0484', 'Date'),
|
||||
(31, 1034, '158aa029-24ed-4948-939e-c3da209e5fba', 'Integer'),
|
||||
(32, 1035, 'ead69342-f06d-4253-83ac-28000225583b', 'Integer'),
|
||||
(33, 1036, '39f533e4-0551-4505-a64b-e0425c5ce775', 'Integer'),
|
||||
(35, 1038, '60b7dabf-99cd-41eb-b8e9-4d2e669bbde9', 'Ntext'),
|
||||
(36, 1039, 'cdbf0b5d-5cb2-445f-bc12-fcaaec07cf2c', 'Ntext'),
|
||||
(37, 1040, '71b8ad1a-8dc2-425c-b6b8-faa158075e63', 'Ntext'),
|
||||
(38, 1041, '4023e540-92f5-11dd-ad8b-0800200c9a66', 'Ntext'),
|
||||
(39, 1042, '474FCFF8-9D2D-11DE-ABC6-AD7A56D89593', 'Ntext'),
|
||||
(40, 1043, '7A2D436C-34C2-410F-898F-4A23B3D79F54', 'Ntext')
|
||||
;
|
||||
ALTER TABLE umbracoAppTree ADD FOREIGN KEY (appAlias) REFERENCES umbracoApp (appAlias)
|
||||
;
|
||||
ALTER TABLE cmsPropertyData ADD FOREIGN KEY (contentNodeId) REFERENCES umbracoNode (id)
|
||||
;
|
||||
|
||||
/* TABLE IS NEVER USED, REMOVED FOR 4.1
|
||||
|
||||
ALTER TABLE umbracoUser2userGroup ADD FOREIGN KEY (user) REFERENCES umbracoUser (id)
|
||||
;
|
||||
ALTER TABLE umbracoUser2userGroup ADD FOREIGN KEY (userGroup) REFERENCES umbracoUserGroup (id)
|
||||
;
|
||||
|
||||
*/
|
||||
|
||||
ALTER TABLE cmsDocument ADD FOREIGN KEY (nodeId) REFERENCES umbracoNode (id)
|
||||
;
|
||||
ALTER TABLE cmsMacroProperty ADD FOREIGN KEY (macroPropertyType) REFERENCES cmsMacroPropertyType (id)
|
||||
;
|
||||
ALTER TABLE umbracoUser ADD FOREIGN KEY (userType) REFERENCES umbracoUserType (id)
|
||||
;
|
||||
ALTER TABLE cmsTemplate ADD FOREIGN KEY (nodeId) REFERENCES umbracoNode (id)
|
||||
;
|
||||
ALTER TABLE cmsContentType ADD FOREIGN KEY (nodeId) REFERENCES umbracoNode (id)
|
||||
;
|
||||
ALTER TABLE umbracoNode ADD FOREIGN KEY (parentID) REFERENCES umbracoNode (id)
|
||||
;
|
||||
ALTER TABLE cmsPropertyType ADD FOREIGN KEY (tabId) REFERENCES cmsTab (id)
|
||||
;
|
||||
ALTER TABLE cmsContent ADD FOREIGN KEY (nodeId) REFERENCES umbracoNode (id)
|
||||
;
|
||||
ALTER TABLE umbracoUser2app ADD FOREIGN KEY (app) REFERENCES umbracoApp (appAlias)
|
||||
;
|
||||
|
||||
/* TABLE IS NEVER USED, REMOVED FOR 4.1
|
||||
|
||||
ALTER TABLE umbracoUser2userGroup ADD FOREIGN KEY (user) REFERENCES umbracoUser (id)
|
||||
;
|
||||
|
||||
*/
|
||||
|
||||
CREATE TABLE cmsTask
|
||||
(
|
||||
closed bit NOT NULL DEFAULT 0,
|
||||
id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
taskTypeId tinyint NOT NULL,
|
||||
nodeId int NOT NULL,
|
||||
parentUserId int NOT NULL,
|
||||
userId int NOT NULL,
|
||||
DateTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
Comment nvarchar (500) NULL
|
||||
)
|
||||
;
|
||||
CREATE TABLE cmsTaskType
|
||||
(
|
||||
id tinyint NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
alias nvarchar (255) NOT NULL
|
||||
)
|
||||
;
|
||||
insert into cmsTaskType (alias) values ('toTranslate')
|
||||
;
|
||||
insert into umbracoRelationType (`dual`, parentObjectType, childObjectType, name, alias) values (1, 'c66ba18e-eaf3-4cff-8a22-41b16d66a972', 'c66ba18e-eaf3-4cff-8a22-41b16d66a972', 'Relate Document On Copy','relateDocumentOnCopy')
|
||||
;
|
||||
ALTER TABLE cmsMacro ADD macroPython nvarchar(255)
|
||||
;
|
||||
INSERT INTO umbracoAppTree(treeSilent, treeInitialize, treeSortOrder, appAlias, treeAlias, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType) VALUES(0, 1, 4, 'developer', 'python', 'Python Files', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadPython')
|
||||
;
|
||||
INSERT INTO umbracoAppTree(treeSilent, treeInitialize, treeSortOrder, appAlias, treeAlias, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType) VALUES(0, 1, 2, 'settings', 'scripts', 'Scripts', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadScripts')
|
||||
;
|
||||
alter TABLE cmsContentType add thumbnail nvarchar(255) NOT NULL DEFAULT 'folder.png'
|
||||
;
|
||||
alter TABLE cmsContentType add description nvarchar(1500) NULL
|
||||
;
|
||||
alter TABLE cmsContentType add masterContentType int NULL
|
||||
;
|
||||
insert into cmsDataTypePreValues (id, dataTypeNodeId, value, sortorder, alias) values
|
||||
(3,-87,',code,undo,redo,cut,copy,mcepasteword,stylepicker,bold,italic,bullist,numlist,outdent,indent,mcelink,unlink,mceinsertanchor,mceimage,umbracomacro,mceinserttable,mcecharmap,|1|1,2,3,|0|500,400|1049,|true|', 0, ''),
|
||||
(4,1041,'default', 0, 'group')
|
||||
;
|
||||
|
||||
UPDATE umbracoUserType SET userTypeDefaultPermissions = CONCAT(userTypeDefaultPermissions, 'F') WHERE INSTR(userTypeDefaultPermissions,'A') >= 1
|
||||
AND INSTR(userTypeDefaultPermissions,'F') < 1
|
||||
;
|
||||
|
||||
UPDATE umbracoUserType SET userTypeDefaultPermissions = CONCAT(userTypeDefaultPermissions, 'H') WHERE userTypeAlias = 'writer'
|
||||
AND INSTR(userTypeDefaultPermissions,'F') < 1
|
||||
;
|
||||
|
||||
INSERT IGNORE INTO umbracoUser2NodePermission (userID, nodeId, permission)
|
||||
SELECT userID, nodeId, 'F' FROM umbracoUser2NodePermission WHERE permission='A'
|
||||
;
|
||||
|
||||
INSERT IGNORE INTO umbracoUser2NodePermission (userID, nodeId, permission)
|
||||
SELECT DISTINCT userID, nodeId, 'H' FROM umbracoUser2NodePermission WHERE userId IN
|
||||
(SELECT umbracoUser.id FROM umbracoUserType INNER JOIN umbracoUser ON umbracoUserType.id = umbracoUser.userType WHERE (umbracoUserType.userTypeAlias = 'writer'))
|
||||
;
|
||||
|
||||
INSERT IGNORE INTO umbracoAppTree (treeSilent, treeInitialize, treeSortOrder, appAlias, treeAlias, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType)
|
||||
VALUES (0, 0, 0, 'content', 'contentRecycleBin', 'RecycleBin', 'folder.gif', 'folder_o.gif', 'umbraco', 'cms.presentation.Trees.ContentRecycleBin')
|
||||
;
|
||||
|
||||
INSERT IGNORE INTO umbracoAppTree (treeSilent, treeInitialize, treeSortOrder, appAlias, treeAlias, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType)
|
||||
VALUES (0, 1, 1, 'users', 'userTypes', 'User Types', 'folder.gif', 'folder_o.gif', 'umbraco', 'cms.presentation.Trees.UserTypes')
|
||||
;
|
||||
|
||||
INSERT IGNORE INTO umbracoAppTree (treeSilent, treeInitialize, treeSortOrder, appAlias, treeAlias, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType)
|
||||
VALUES (0, 1, 2, 'users', 'userPermissions', 'User Permissions', 'folder.gif', 'folder_o.gif', 'umbraco', 'cms.presentation.Trees.UserPermissions')
|
||||
;
|
||||
|
||||
CREATE TABLE cmsTagRelationship
|
||||
(
|
||||
nodeId int NOT NULL,
|
||||
tagId int NOT NULL
|
||||
);
|
||||
|
||||
ALTER TABLE cmsTagRelationship ADD CONSTRAINT PK_user2app PRIMARY KEY CLUSTERED (nodeId, tagId);
|
||||
|
||||
CREATE TABLE cmsTags(
|
||||
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
tag VARCHAR(200) NULL,
|
||||
parentId INT NULL,
|
||||
`group` VARCHAR(100) NULL
|
||||
);
|
||||
|
||||
ALTER TABLE cmsTagRelationship ADD CONSTRAINT umbracoNode_cmsTagRelationship FOREIGN KEY(nodeId)
|
||||
REFERENCES umbracoNode (id)
|
||||
ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE cmsTagRelationship ADD CONSTRAINT cmsTags_cmsTagRelationship FOREIGN KEY(tagId)
|
||||
REFERENCES cmsTags (id)
|
||||
ON DELETE CASCADE;
|
||||
|
||||
/* TRANSLATION RELATED SQL */
|
||||
INSERT INTO umbracoApp (appAlias, sortOrder, appIcon, appName, appInitWithTreeAlias)
|
||||
VALUES ('translation', 5, '.traytranslation', 'Translation', NULL)
|
||||
;
|
||||
INSERT INTO umbracoAppTree (treeSilent, treeInitialize, treeSortOrder, appAlias, treeAlias, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType)
|
||||
VALUES (0, 1, 1, 'translation','openTasks', 'Tasks assigned to you', '.sprTreeFolder', '.sprTreeFolder_o', 'umbraco', 'loadOpenTasks')
|
||||
;
|
||||
INSERT INTO umbracoAppTree (treeSilent, treeInitialize, treeSortOrder, appAlias, treeAlias, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType)
|
||||
VALUES (0, 1, 2, 'translation','yourTasks', 'Tasks created by you', '.sprTreeFolder', '.sprTreeFolder_o', 'umbraco', 'loadYourTasks')
|
||||
;
|
||||
|
||||
ALTER TABLE umbraconode MODIFY COLUMN id INTEGER NOT NULL AUTO_INCREMENT; /* fix for MySQL bug 36411 */
|
||||
|
||||
/* remove auto increment so we can insert identity */
|
||||
ALTER TABLE umbraconode MODIFY COLUMN id INTEGER NOT NULL;
|
||||
/* INSERT NEW MEDIA RECYCLE BIN NODE */
|
||||
INSERT INTO umbracoNode (id, trashed, parentID, nodeUser, level, path, sortOrder, uniqueID, text, nodeObjectType, createDate)
|
||||
VALUES (-21, 0, -1, 0, 0, '-1,-21', 0, 'BF7C7CBC-952F-4518-97A2-69E9C7B33842', 'Recycle Bin', 'CF3D8E34-1C1C-41e9-AE56-878B57B32113', '2009/08/28 00:28:28.920')
|
||||
;
|
||||
/* re-add auto increment */
|
||||
ALTER TABLE umbraconode MODIFY COLUMN id INTEGER NOT NULL AUTO_INCREMENT;
|
||||
/* Add the mediaRecycleBin tree type */
|
||||
INSERT IGNORE INTO umbracoAppTree (treeSilent, treeInitialize, treeSortOrder, appAlias, treeAlias, treeTitle, treeIconClosed, treeIconOpen, treeHandlerAssembly, treeHandlerType)
|
||||
VALUES (0, 0, 0, 'media', 'mediaRecycleBin', 'RecycleBin', 'folder.gif', 'folder_o.gif', 'umbraco', 'cms.presentation.Trees.MediaRecycleBin')
|
||||
;
|
||||
|
||||
CREATE TABLE cmsPreviewXml(
|
||||
nodeId int NOT NULL,
|
||||
versionId CHAR(36) NOT NULL,
|
||||
timestamp datetime NOT NULL,
|
||||
xml LONGTEXT NOT NULL)
|
||||
;
|
||||
ALTER TABLE cmsPreviewXml ADD CONSTRAINT PK_cmsContentPreviewXml PRIMARY KEY CLUSTERED (nodeId, versionId)
|
||||
;
|
||||
|
||||
|
||||
/* Create missing indexes and primary keys */
|
||||
CREATE INDEX IX_Icon ON cmsContentType(nodeId, icon)
|
||||
;
|
||||
|
||||
/* CHANGE:Allan Stegelmann Laustsen */
|
||||
/* Create Custom Index to speed up tree loading */
|
||||
CREATE INDEX IX_contentid_versiondate ON cmscontentversion(CONTENTID, VERSIONDATE)
|
||||
;
|
||||
/* CHANGE:End */
|
||||
|
||||
645
src/Umbraco.Tests/Migrations/SqlScripts/SqlCeTotal-480.sql
Normal file
645
src/Umbraco.Tests/Migrations/SqlScripts/SqlCeTotal-480.sql
Normal file
@@ -0,0 +1,645 @@
|
||||
CREATE TABLE [umbracoRelation]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[parentId] [int] NOT NULL,
|
||||
[childId] [int] NOT NULL,
|
||||
[relType] [int] NOT NULL,
|
||||
[datetime] [datetime] NOT NULL CONSTRAINT [DF_umbracoRelation_datetime] DEFAULT (getdate()),
|
||||
[comment] [nvarchar] (1000) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoRelation] ADD CONSTRAINT [PK_umbracoRelation] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [cmsDocument]
|
||||
(
|
||||
[nodeId] [int] NOT NULL,
|
||||
[published] [bit] NOT NULL,
|
||||
[documentUser] [int] NOT NULL,
|
||||
[versionId] [uniqueidentifier] NOT NULL,
|
||||
[text] [nvarchar] (255) NOT NULL,
|
||||
[releaseDate] [datetime] NULL,
|
||||
[expireDate] [datetime] NULL,
|
||||
[updateDate] [datetime] NOT NULL CONSTRAINT [DF_cmsDocument_updateDate] DEFAULT (getdate()),
|
||||
[templateId] [int] NULL,
|
||||
[alias] [nvarchar] (255) NULL ,
|
||||
[newest] [bit] NOT NULL CONSTRAINT [DF_cmsDocument_newest] DEFAULT (0)
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsDocument] ADD CONSTRAINT [PK_cmsDocument] PRIMARY KEY ([versionId])
|
||||
;
|
||||
CREATE TABLE [umbracoLog]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[userId] [int] NOT NULL,
|
||||
[NodeId] [int] NOT NULL,
|
||||
[Datestamp] [datetime] NOT NULL CONSTRAINT [DF_umbracoLog_Datestamp] DEFAULT (getdate()),
|
||||
[logHeader] [nvarchar] (50) NOT NULL,
|
||||
[logComment] [nvarchar] (1000) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoLog] ADD CONSTRAINT [PK_umbracoLog] PRIMARY KEY ([id])
|
||||
;
|
||||
|
||||
CREATE TABLE [umbracoApp]
|
||||
(
|
||||
[sortOrder] [tinyint] NOT NULL CONSTRAINT [DF_app_sortOrder] DEFAULT (0),
|
||||
[appAlias] [nvarchar] (50) NOT NULL,
|
||||
[appIcon] [nvarchar] (255) NOT NULL,
|
||||
[appName] [nvarchar] (255) NOT NULL,
|
||||
[appInitWithTreeAlias] [nvarchar] (255) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoApp] ADD CONSTRAINT [PK_umbracoApp] PRIMARY KEY ([appAlias])
|
||||
;
|
||||
CREATE TABLE [cmsPropertyData]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[contentNodeId] [int] NOT NULL,
|
||||
[versionId] [uniqueidentifier] NULL,
|
||||
[propertytypeid] [int] NOT NULL,
|
||||
[dataInt] [int] NULL,
|
||||
[dataDate] [datetime] NULL,
|
||||
[dataNvarchar] [nvarchar] (500) NULL,
|
||||
[dataNtext] [ntext] NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsPropertyData] ADD CONSTRAINT [PK_cmsPropertyData] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE INDEX [IX_cmsPropertyData] ON [cmsPropertyData] ([id])
|
||||
;
|
||||
CREATE TABLE [cmsContent]
|
||||
(
|
||||
[pk] [int] NOT NULL IDENTITY(1, 1),
|
||||
[nodeId] [int] NOT NULL,
|
||||
[contentType] [int] NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsContent] ADD CONSTRAINT [PK_cmsContent] PRIMARY KEY ([pk])
|
||||
;
|
||||
CREATE TABLE [cmsContentType]
|
||||
(
|
||||
[pk] [int] NOT NULL IDENTITY(1, 1),
|
||||
[nodeId] [int] NOT NULL,
|
||||
[alias] [nvarchar] (255) NULL,
|
||||
[icon] [nvarchar] (255) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsContentType] ADD CONSTRAINT [PK_cmsContentType] PRIMARY KEY ([pk])
|
||||
;
|
||||
CREATE TABLE [cmsMacroPropertyType]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[macroPropertyTypeAlias] [nvarchar] (50) NULL,
|
||||
[macroPropertyTypeRenderAssembly] [nvarchar] (255) NULL,
|
||||
[macroPropertyTypeRenderType] [nvarchar] (255) NULL,
|
||||
[macroPropertyTypeBaseType] [nvarchar] (255) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsMacroPropertyType] ADD CONSTRAINT [PK_macroPropertyType] PRIMARY KEY ([id])
|
||||
;
|
||||
|
||||
|
||||
CREATE TABLE [cmsTab]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[contenttypeNodeId] [int] NOT NULL,
|
||||
[text] [nvarchar] (255) NOT NULL,
|
||||
[sortorder] [int] NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsTab] ADD CONSTRAINT [PK_cmsTab] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [cmsTemplate]
|
||||
(
|
||||
[pk] [int] NOT NULL IDENTITY(1, 1),
|
||||
[nodeId] [int] NOT NULL,
|
||||
[master] [int] NULL,
|
||||
[alias] [nvarchar] (100) NULL,
|
||||
[design] [ntext] NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsTemplate] ADD CONSTRAINT [PK_templates] PRIMARY KEY ([pk])
|
||||
;
|
||||
CREATE TABLE [umbracoUser2app]
|
||||
(
|
||||
[user] [int] NOT NULL,
|
||||
[app] [nvarchar] (50) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoUser2app] ADD CONSTRAINT [PK_user2app] PRIMARY KEY ([user], [app])
|
||||
;
|
||||
CREATE TABLE [umbracoUserType]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[userTypeAlias] [nvarchar] (50) NULL,
|
||||
[userTypeName] [nvarchar] (255) NOT NULL,
|
||||
[userTypeDefaultPermissions] [nvarchar] (50) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoUserType] ADD CONSTRAINT [PK_userType] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [umbracoUser]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[userDisabled] [bit] NOT NULL CONSTRAINT [DF_umbracoUser_userDisabled] DEFAULT (0),
|
||||
[userNoConsole] [bit] NOT NULL CONSTRAINT [DF_umbracoUser_userNoConsole] DEFAULT (0),
|
||||
[userType] [int] NOT NULL,
|
||||
[startStructureID] [int] NOT NULL,
|
||||
[startMediaID] [int] NULL,
|
||||
[userName] [nvarchar] (255) NOT NULL,
|
||||
[userLogin] [nvarchar] (125) NOT NULL,
|
||||
[userPassword] [nvarchar] (125) NOT NULL,
|
||||
[userEmail] [nvarchar] (255) NOT NULL,
|
||||
[userDefaultPermissions] [nvarchar] (50) NULL,
|
||||
[userLanguage] [nvarchar] (10) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoUser] ADD CONSTRAINT [PK_user] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [cmsDocumentType]
|
||||
(
|
||||
[contentTypeNodeId] [int] NOT NULL,
|
||||
[templateNodeId] [int] NOT NULL,
|
||||
[IsDefault] [bit] NOT NULL CONSTRAINT [DF_cmsDocumentType_IsDefault] DEFAULT (0)
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsDocumentType] ADD CONSTRAINT [PK_cmsDocumentType] PRIMARY KEY ([contentTypeNodeId], [templateNodeId])
|
||||
;
|
||||
CREATE TABLE [cmsMemberType]
|
||||
(
|
||||
[pk] [int] NOT NULL IDENTITY(1, 1),
|
||||
[NodeId] [int] NOT NULL,
|
||||
[propertytypeId] [int] NOT NULL,
|
||||
[memberCanEdit] [bit] NOT NULL CONSTRAINT [DF_cmsMemberType_memberCanEdit] DEFAULT (0),
|
||||
[viewOnProfile] [bit] NOT NULL CONSTRAINT [DF_cmsMemberType_viewOnProfile] DEFAULT (0)
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsMemberType] ADD CONSTRAINT [PK_cmsMemberType] PRIMARY KEY ([pk])
|
||||
;
|
||||
CREATE TABLE [cmsMember]
|
||||
(
|
||||
[nodeId] [int] NOT NULL,
|
||||
[Email] [nvarchar] (1000) NOT NULL CONSTRAINT [DF_cmsMember_Email] DEFAULT (''),
|
||||
[LoginName] [nvarchar] (1000) NOT NULL CONSTRAINT [DF_cmsMember_LoginName] DEFAULT (''),
|
||||
[Password] [nvarchar] (1000) NOT NULL CONSTRAINT [DF_cmsMember_Password] DEFAULT ('')
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE [umbracoNode]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[trashed] [bit] NOT NULL CONSTRAINT [DF_umbracoNode_trashed] DEFAULT (0),
|
||||
[parentID] [int] NOT NULL,
|
||||
[nodeUser] [int] NULL,
|
||||
[level] [int] NOT NULL,
|
||||
[path] [nvarchar] (150) NOT NULL,
|
||||
[sortOrder] [int] NOT NULL,
|
||||
[uniqueID] [uniqueidentifier] NULL,
|
||||
[text] [nvarchar] (255) NULL,
|
||||
[nodeObjectType] [uniqueidentifier] NULL,
|
||||
[createDate] [datetime] NOT NULL CONSTRAINT [DF_umbracoNode_createDate] DEFAULT (getdate())
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoNode] ADD CONSTRAINT [PK_structure] PRIMARY KEY ([id])
|
||||
;
|
||||
;
|
||||
CREATE TABLE [cmsPropertyType]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[dataTypeId] [int] NOT NULL,
|
||||
[contentTypeId] [int] NOT NULL,
|
||||
[tabId] [int] NULL,
|
||||
[Alias] [nvarchar] (255) NOT NULL,
|
||||
[Name] [nvarchar] (255) NULL,
|
||||
[helpText] [nvarchar] (1000) NULL,
|
||||
[sortOrder] [int] NOT NULL CONSTRAINT [DF__cmsProper__sortO__1EA48E88] DEFAULT (0),
|
||||
[mandatory] [bit] NOT NULL CONSTRAINT [DF__cmsProper__manda__2180FB33] DEFAULT (0),
|
||||
[validationRegExp] [nvarchar] (255) NULL,
|
||||
[Description] [nvarchar] (2000) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsPropertyType] ADD CONSTRAINT [PK_cmsPropertyType] PRIMARY KEY ([id])
|
||||
;
|
||||
|
||||
CREATE TABLE [cmsMacroProperty]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[macroPropertyHidden] [bit] NOT NULL CONSTRAINT [DF_macroProperty_macroPropertyHidden] DEFAULT (0),
|
||||
[macroPropertyType] [int] NOT NULL,
|
||||
[macro] [int] NOT NULL,
|
||||
[macroPropertySortOrder] [tinyint] NOT NULL CONSTRAINT [DF_macroProperty_macroPropertySortOrder] DEFAULT (0),
|
||||
[macroPropertyAlias] [nvarchar] (50) NOT NULL,
|
||||
[macroPropertyName] [nvarchar] (255) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsMacroProperty] ADD CONSTRAINT [PK_macroProperty] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [cmsMacro]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[macroUseInEditor] [bit] NOT NULL CONSTRAINT [DF_macro_macroUseInEditor] DEFAULT (0),
|
||||
[macroRefreshRate] [int] NOT NULL CONSTRAINT [DF_macro_macroRefreshRate] DEFAULT (0),
|
||||
[macroAlias] [nvarchar] (255) NOT NULL,
|
||||
[macroName] [nvarchar] (255) NULL,
|
||||
[macroScriptType] [nvarchar] (255) NULL,
|
||||
[macroScriptAssembly] [nvarchar] (255) NULL,
|
||||
[macroXSLT] [nvarchar] (255) NULL,
|
||||
[macroCacheByPage] [bit] NOT NULL CONSTRAINT [DF_cmsMacro_macroCacheByPage] DEFAULT (1),
|
||||
[macroCachePersonalized] [bit] NOT NULL CONSTRAINT [DF_cmsMacro_macroCachePersonalized] DEFAULT (0),
|
||||
[macroDontRender] [bit] NOT NULL CONSTRAINT [DF_cmsMacro_macroDontRender] DEFAULT (0)
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsMacro] ADD CONSTRAINT [PK_macro] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [cmsContentVersion]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1) PRIMARY KEY,
|
||||
[ContentId] [int] NOT NULL,
|
||||
[VersionId] [uniqueidentifier] NOT NULL,
|
||||
[VersionDate] [datetime] NOT NULL CONSTRAINT [DF_cmsContentVersion_VersionDate] DEFAULT (getdate())
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE [umbracoAppTree]
|
||||
(
|
||||
[treeSilent] [bit] NOT NULL CONSTRAINT [DF_umbracoAppTree_treeSilent] DEFAULT (0),
|
||||
[treeInitialize] [bit] NOT NULL CONSTRAINT [DF_umbracoAppTree_treeInitialize] DEFAULT (1),
|
||||
[treeSortOrder] [tinyint] NOT NULL,
|
||||
[appAlias] [nvarchar] (50) NOT NULL,
|
||||
[treeAlias] [nvarchar] (150) NOT NULL,
|
||||
[treeTitle] [nvarchar] (255) NOT NULL,
|
||||
[treeIconClosed] [nvarchar] (255) NOT NULL,
|
||||
[treeIconOpen] [nvarchar] (255) NOT NULL,
|
||||
[treeHandlerAssembly] [nvarchar] (255) NOT NULL,
|
||||
[treeHandlerType] [nvarchar] (255) NOT NULL,
|
||||
[action] [nvarchar] (255) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoAppTree] ADD CONSTRAINT [PK_umbracoAppTree] PRIMARY KEY ([appAlias], [treeAlias])
|
||||
;
|
||||
|
||||
CREATE TABLE [cmsContentTypeAllowedContentType]
|
||||
(
|
||||
[Id] [int] NOT NULL,
|
||||
[AllowedId] [int] NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsContentTypeAllowedContentType] ADD CONSTRAINT [PK_cmsContentTypeAllowedContentType] PRIMARY KEY ([Id], [AllowedId])
|
||||
;
|
||||
CREATE TABLE [cmsContentXml]
|
||||
(
|
||||
[nodeId] [int] NOT NULL,
|
||||
[xml] [ntext] NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsContentXml] ADD CONSTRAINT [PK_cmsContentXml] PRIMARY KEY ([nodeId])
|
||||
;
|
||||
CREATE TABLE [cmsDataType]
|
||||
(
|
||||
[pk] [int] NOT NULL IDENTITY(1, 1),
|
||||
[nodeId] [int] NOT NULL,
|
||||
[controlId] [uniqueidentifier] NOT NULL,
|
||||
[dbType] [nvarchar] (50) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsDataType] ADD CONSTRAINT [PK_cmsDataType] PRIMARY KEY ([pk])
|
||||
;
|
||||
CREATE TABLE [cmsDataTypePreValues]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[datatypeNodeId] [int] NOT NULL,
|
||||
[value] [nvarchar] (255) NULL,
|
||||
[sortorder] [int] NOT NULL,
|
||||
[alias] [nvarchar] (50) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsDataTypePreValues] ADD CONSTRAINT [PK_cmsDataTypePreValues] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [cmsDictionary]
|
||||
(
|
||||
[pk] [int] NOT NULL IDENTITY(1, 1),
|
||||
[id] [uniqueidentifier] NOT NULL,
|
||||
[parent] [uniqueidentifier] NOT NULL,
|
||||
[key] [nvarchar] (1000) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsDictionary] ADD CONSTRAINT [PK_cmsDictionary] PRIMARY KEY ([pk])
|
||||
;
|
||||
CREATE TABLE [cmsLanguageText]
|
||||
(
|
||||
[pk] [int] NOT NULL IDENTITY(1, 1),
|
||||
[languageId] [int] NOT NULL,
|
||||
[UniqueId] [uniqueidentifier] NOT NULL,
|
||||
[value] [nvarchar] (1000) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsLanguageText] ADD CONSTRAINT [PK_cmsLanguageText] PRIMARY KEY ([pk])
|
||||
;
|
||||
CREATE TABLE [cmsMember2MemberGroup]
|
||||
(
|
||||
[Member] [int] NOT NULL,
|
||||
[MemberGroup] [int] NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [cmsMember2MemberGroup] ADD CONSTRAINT [PK_cmsMember2MemberGroup] PRIMARY KEY ([Member], [MemberGroup])
|
||||
;
|
||||
CREATE TABLE [cmsStylesheet]
|
||||
(
|
||||
[nodeId] [int] NOT NULL,
|
||||
[filename] [nvarchar] (100) NOT NULL,
|
||||
[content] [ntext] NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE [cmsStylesheetProperty]
|
||||
(
|
||||
[nodeId] [int] NOT NULL,
|
||||
[stylesheetPropertyEditor] [bit] NULL,
|
||||
[stylesheetPropertyAlias] [nvarchar] (50) NULL,
|
||||
[stylesheetPropertyValue] [nvarchar] (400) NULL
|
||||
)
|
||||
|
||||
;
|
||||
CREATE TABLE [umbracoDomains]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[domainDefaultLanguage] [int] NULL,
|
||||
[domainRootStructureID] [int] NULL,
|
||||
[domainName] [nvarchar] (255) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoDomains] ADD CONSTRAINT [PK_domains] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [umbracoLanguage]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[languageISOCode] [nvarchar] (10) NULL,
|
||||
[languageCultureName] [nvarchar] (100) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoLanguage] ADD CONSTRAINT [PK_language] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [umbracoRelationType]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[dual] [bit] NOT NULL,
|
||||
[parentObjectType] [uniqueidentifier] NOT NULL,
|
||||
[childObjectType] [uniqueidentifier] NOT NULL,
|
||||
[name] [nvarchar] (255) NOT NULL,
|
||||
[alias] [nvarchar] (100) NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoRelationType] ADD CONSTRAINT [PK_umbracoRelationType] PRIMARY KEY ([id])
|
||||
;
|
||||
|
||||
|
||||
CREATE TABLE [umbracoUser2NodeNotify]
|
||||
(
|
||||
[userId] [int] NOT NULL,
|
||||
[nodeId] [int] NOT NULL,
|
||||
[action] [nchar] (1) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoUser2NodeNotify] ADD CONSTRAINT [PK_umbracoUser2NodeNotify] PRIMARY KEY ([userId], [nodeId], [action])
|
||||
;
|
||||
CREATE TABLE [umbracoUser2NodePermission]
|
||||
(
|
||||
[userId] [int] NOT NULL,
|
||||
[nodeId] [int] NOT NULL,
|
||||
[permission] [nchar] (1) NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoUser2NodePermission] ADD CONSTRAINT [PK_umbracoUser2NodePermission] PRIMARY KEY ([userId], [nodeId], [permission])
|
||||
;
|
||||
CREATE TABLE [umbracoUserLogins]
|
||||
(
|
||||
[contextID] [uniqueidentifier] NOT NULL,
|
||||
[userID] [int] NOT NULL,
|
||||
[timeout] [bigint] NOT NULL
|
||||
)
|
||||
|
||||
;
|
||||
ALTER TABLE [umbracoAppTree] ADD
|
||||
CONSTRAINT [FK_umbracoAppTree_umbracoApp] FOREIGN KEY ([appAlias]) REFERENCES [umbracoApp] ([appAlias])
|
||||
;
|
||||
ALTER TABLE [cmsPropertyData] ADD
|
||||
CONSTRAINT [FK_cmsPropertyData_umbracoNode] FOREIGN KEY ([contentNodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
|
||||
|
||||
ALTER TABLE [cmsDocument] ADD
|
||||
CONSTRAINT [FK_cmsDocument_umbracoNode] FOREIGN KEY ([nodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsMacroProperty] ADD
|
||||
CONSTRAINT [FK_umbracoMacroProperty_umbracoMacroPropertyType] FOREIGN KEY ([macroPropertyType]) REFERENCES [cmsMacroPropertyType] ([id])
|
||||
;
|
||||
ALTER TABLE [umbracoUser] ADD
|
||||
CONSTRAINT [FK_user_userType] FOREIGN KEY ([userType]) REFERENCES [umbracoUserType] ([id])
|
||||
;
|
||||
ALTER TABLE [umbracoNode] ADD
|
||||
CONSTRAINT [FK_umbracoNode_umbracoNode] FOREIGN KEY ([parentID]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsTemplate] ADD
|
||||
CONSTRAINT [FK_cmsTemplate_umbracoNode] FOREIGN KEY ([nodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsContentType] ADD
|
||||
CONSTRAINT [FK_cmsContentType_umbracoNode] FOREIGN KEY ([nodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsPropertyType] ADD
|
||||
CONSTRAINT [FK_cmsPropertyType_cmsTab] FOREIGN KEY ([tabId]) REFERENCES [cmsTab] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsContent] ADD
|
||||
CONSTRAINT [FK_cmsContent_umbracoNode] FOREIGN KEY ([nodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [umbracoUser2app] ADD
|
||||
CONSTRAINT [FK_umbracoUser2app_umbracoApp] FOREIGN KEY ([app]) REFERENCES [umbracoApp] ([appAlias]),
|
||||
CONSTRAINT [FK_umbracoUser2app_umbracoUser] FOREIGN KEY ([user]) REFERENCES [umbracoUser] ([id])
|
||||
;
|
||||
|
||||
ALTER TABLE [cmsTemplate] DROP CONSTRAINT [FK_cmsTemplate_umbracoNode]
|
||||
;
|
||||
ALTER TABLE [cmsPropertyType] DROP CONSTRAINT [FK_cmsPropertyType_cmsTab]
|
||||
;
|
||||
ALTER TABLE [cmsContent] DROP CONSTRAINT [FK_cmsContent_umbracoNode]
|
||||
;
|
||||
ALTER TABLE [cmsMacroProperty] DROP CONSTRAINT [FK_umbracoMacroProperty_umbracoMacroPropertyType]
|
||||
;
|
||||
ALTER TABLE [umbracoAppTree] DROP CONSTRAINT [FK_umbracoAppTree_umbracoApp]
|
||||
;
|
||||
ALTER TABLE [umbracoUser2app] DROP CONSTRAINT [FK_umbracoUser2app_umbracoApp]
|
||||
;
|
||||
ALTER TABLE [umbracoUser2app] DROP CONSTRAINT [FK_umbracoUser2app_umbracoUser]
|
||||
;
|
||||
ALTER TABLE [cmsPropertyData] DROP CONSTRAINT [FK_cmsPropertyData_umbracoNode]
|
||||
;
|
||||
|
||||
ALTER TABLE [umbracoUser] DROP CONSTRAINT [FK_user_userType]
|
||||
;
|
||||
ALTER TABLE [cmsContentType] DROP CONSTRAINT [FK_cmsContentType_umbracoNode]
|
||||
;
|
||||
ALTER TABLE [cmsDocument] DROP CONSTRAINT [FK_cmsDocument_umbracoNode]
|
||||
;
|
||||
ALTER TABLE [umbracoNode] DROP CONSTRAINT [FK_umbracoNode_umbracoNode]
|
||||
;
|
||||
|
||||
ALTER TABLE [cmsTemplate] ADD CONSTRAINT [FK_cmsTemplate_umbracoNode] FOREIGN KEY ([nodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsPropertyType] ADD CONSTRAINT [FK_cmsPropertyType_cmsTab] FOREIGN KEY ([tabId]) REFERENCES [cmsTab] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsContent] ADD CONSTRAINT [FK_cmsContent_umbracoNode] FOREIGN KEY ([nodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsMacroProperty] ADD CONSTRAINT [FK_umbracoMacroProperty_umbracoMacroPropertyType] FOREIGN KEY ([macroPropertyType]) REFERENCES [cmsMacroPropertyType] ([id])
|
||||
;
|
||||
ALTER TABLE [umbracoAppTree] ADD CONSTRAINT [FK_umbracoAppTree_umbracoApp] FOREIGN KEY ([appAlias]) REFERENCES [umbracoApp] ([appAlias])
|
||||
;
|
||||
ALTER TABLE [umbracoUser2app] ADD CONSTRAINT [FK_umbracoUser2app_umbracoApp] FOREIGN KEY ([app]) REFERENCES [umbracoApp] ([appAlias])
|
||||
;
|
||||
ALTER TABLE [umbracoUser2app] ADD CONSTRAINT [FK_umbracoUser2app_umbracoUser] FOREIGN KEY ([user]) REFERENCES [umbracoUser] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsPropertyData] ADD CONSTRAINT [FK_cmsPropertyData_umbracoNode] FOREIGN KEY ([contentNodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [umbracoUser] ADD CONSTRAINT [FK_user_userType] FOREIGN KEY ([userType]) REFERENCES [umbracoUserType] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsContentType] ADD CONSTRAINT [FK_cmsContentType_umbracoNode] FOREIGN KEY ([nodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [cmsDocument] ADD CONSTRAINT [FK_cmsDocument_umbracoNode] FOREIGN KEY ([nodeId]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
ALTER TABLE [umbracoNode] ADD CONSTRAINT [FK_umbracoNode_umbracoNode] FOREIGN KEY ([parentID]) REFERENCES [umbracoNode] ([id])
|
||||
;
|
||||
|
||||
ALTER TABLE cmsDataTypePreValues ALTER COLUMN value NVARCHAR(2500) NULL
|
||||
;
|
||||
CREATE TABLE [cmsTask]
|
||||
(
|
||||
[closed] [bit] NOT NULL CONSTRAINT [DF__cmsTask__closed__04E4BC85] DEFAULT ((0)),
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[taskTypeId] [int] NOT NULL,
|
||||
[nodeId] [int] NOT NULL,
|
||||
[parentUserId] [int] NOT NULL,
|
||||
[userId] [int] NOT NULL,
|
||||
[DateTime] [datetime] NOT NULL CONSTRAINT [DF__cmsTask__DateTim__05D8E0BE] DEFAULT (getdate()),
|
||||
[Comment] [nvarchar] (500) NULL
|
||||
)
|
||||
;
|
||||
ALTER TABLE [cmsTask] ADD CONSTRAINT [PK_cmsTask] PRIMARY KEY ([id])
|
||||
;
|
||||
CREATE TABLE [cmsTaskType]
|
||||
(
|
||||
[id] [int] NOT NULL IDENTITY(1, 1),
|
||||
[alias] [nvarchar] (255) NOT NULL
|
||||
)
|
||||
;
|
||||
ALTER TABLE [cmsTaskType] ADD CONSTRAINT [PK_cmsTaskType] PRIMARY KEY ([id])
|
||||
;
|
||||
ALTER TABLE [cmsTask] ADD
|
||||
CONSTRAINT [FK_cmsTask_cmsTaskType] FOREIGN KEY ([taskTypeId]) REFERENCES [cmsTaskType] ([id])
|
||||
;
|
||||
insert into cmsTaskType (alias) values ('toTranslate')
|
||||
;
|
||||
|
||||
update umbracoUserType set userTypeDefaultPermissions = userTypeDefaultPermissions + '5' where userTypeAlias in ('editor','admin')
|
||||
;
|
||||
|
||||
;
|
||||
insert into umbracoRelationType (dual, parentObjectType, childObjectType, name, alias) values (1, 'c66ba18e-eaf3-4cff-8a22-41b16d66a972', 'c66ba18e-eaf3-4cff-8a22-41b16d66a972', 'Relate Document On Copy','relateDocumentOnCopy')
|
||||
;
|
||||
ALTER TABLE cmsMacro ADD macroPython nvarchar(255)
|
||||
;
|
||||
|
||||
|
||||
UPDATE umbracoUserType SET userTypeDefaultPermissions = userTypeDefaultPermissions + 'F' WHERE CHARINDEX('A',userTypeDefaultPermissions,0) >= 1
|
||||
AND CHARINDEX('F',userTypeDefaultPermissions,0) < 1
|
||||
;
|
||||
|
||||
UPDATE umbracoUserType SET userTypeDefaultPermissions = userTypeDefaultPermissions + 'H' WHERE userTypeAlias = 'writer'
|
||||
AND CHARINDEX('F',userTypeDefaultPermissions,0) < 1
|
||||
;
|
||||
|
||||
INSERT INTO umbracoUser2NodePermission (userID, nodeId, permission)
|
||||
SELECT userID, nodeId, 'F' FROM umbracoUser2NodePermission WHERE permission='A'
|
||||
;
|
||||
|
||||
INSERT INTO umbracoUser2NodePermission (userID, nodeId, permission)
|
||||
SELECT DISTINCT userID, nodeId, 'H' FROM umbracoUser2NodePermission WHERE userId IN
|
||||
(SELECT umbracoUser.id FROM umbracoUserType INNER JOIN umbracoUser ON umbracoUserType.id = umbracoUser.userType WHERE (umbracoUserType.userTypeAlias = 'writer'))
|
||||
;
|
||||
|
||||
alter TABLE [cmsContentType]
|
||||
add [masterContentType] int NULL CONSTRAINT
|
||||
[DF_cmsContentType_masterContentType] DEFAULT (0)
|
||||
;
|
||||
CREATE TABLE [cmsTagRelationship](
|
||||
[nodeId] [int] NOT NULL,
|
||||
[tagId] [int] NOT NULL)
|
||||
;
|
||||
|
||||
CREATE TABLE [cmsTags](
|
||||
[id] [int] IDENTITY(1,1) NOT NULL,
|
||||
[tag] [nvarchar](200) NULL,
|
||||
[parentId] [int] NULL,
|
||||
[group] [nvarchar](100) NULL)
|
||||
;
|
||||
alter TABLE [umbracoUser]
|
||||
add [defaultToLiveEditing] bit NOT NULL CONSTRAINT
|
||||
[DF_umbracoUser_defaultToLiveEditing] DEFAULT (0)
|
||||
;
|
||||
|
||||
CREATE TABLE [cmsPreviewXml](
|
||||
[nodeId] [int] NOT NULL,
|
||||
[versionId] [uniqueidentifier] NOT NULL,
|
||||
[timestamp] [datetime] NOT NULL,
|
||||
[xml] [ntext] NOT NULL)
|
||||
;
|
||||
|
||||
|
||||
ALTER TABLE [umbracoNode] ALTER COLUMN id IDENTITY(1042,1)
|
||||
;
|
||||
ALTER TABLE [cmsContentType] ALTER COLUMN pk IDENTITY(535,1)
|
||||
;
|
||||
ALTER TABLE [umbracoUser] ALTER COLUMN id IDENTITY(1,1)
|
||||
;
|
||||
ALTER TABLE [umbracoUserType] ALTER COLUMN id IDENTITY(5,1)
|
||||
;
|
||||
ALTER TABLE [cmsMacroPropertyType] ALTER COLUMN id IDENTITY(26,1)
|
||||
;
|
||||
ALTER TABLE [cmsTab] ALTER COLUMN id IDENTITY(6,1)
|
||||
;
|
||||
ALTER TABLE [cmsPropertyType] ALTER COLUMN id IDENTITY(28,1)
|
||||
;
|
||||
ALTER TABLE [umbracoLanguage] ALTER COLUMN id IDENTITY(2,1)
|
||||
;
|
||||
ALTER TABLE [cmsDataType] ALTER COLUMN pk IDENTITY(39,1)
|
||||
;
|
||||
ALTER TABLE [cmsDataTypePreValues] ALTER COLUMN id IDENTITY(5,1)
|
||||
138
src/Umbraco.Tests/Migrations/SqlScripts/SqlResources.Designer.cs
generated
Normal file
138
src/Umbraco.Tests/Migrations/SqlScripts/SqlResources.Designer.cs
generated
Normal file
@@ -0,0 +1,138 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.18010
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Umbraco.Tests.Migrations.SqlScripts {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class SqlResources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal SqlResources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Umbraco.Tests.Migrations.SqlScripts.SqlResources", typeof(SqlResources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to /*******************************************************************************************
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Umbraco database installation script for MySQL
|
||||
///
|
||||
///IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
|
||||
///
|
||||
/// Database version: 4.8.0.4
|
||||
///
|
||||
/// Please increment this version number if ANY change is made to this script,
|
||||
/// so compatibility with scripts for other database systems can be verified easily.
|
||||
/// The first 3 digits depict the Umbraco version, t [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string MySqlTotal_480 {
|
||||
get {
|
||||
return ResourceManager.GetString("MySqlTotal_480", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to /*******************************************************************************************
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Umbraco database installation script for SQL Server CE 4
|
||||
///
|
||||
///IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
|
||||
///
|
||||
/// Database version: 4.8.0.1
|
||||
///
|
||||
/// Please increment this version number if ANY change is made to this script,
|
||||
/// so compatibility with scripts for other database systems can be verified easily.
|
||||
/// The first 3 digits depict the Umbraco [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string SqlCeTotal_480 {
|
||||
get {
|
||||
return ResourceManager.GetString("SqlCeTotal_480", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to /*******************************************************************************************
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
/// Umbraco database installation script for SQL Server
|
||||
///
|
||||
///IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
|
||||
///
|
||||
/// Database version: 4.8.0.0
|
||||
///
|
||||
/// Please increment this version number if ANY change is made to this script,
|
||||
/// so compatibility with scripts for other database systems can be verified easily.
|
||||
/// The first 3 digits depict the Umbraco versi [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string SqlServerTotal_480 {
|
||||
get {
|
||||
return ResourceManager.GetString("SqlServerTotal_480", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
130
src/Umbraco.Tests/Migrations/SqlScripts/SqlResources.resx
Normal file
130
src/Umbraco.Tests/Migrations/SqlScripts/SqlResources.resx
Normal file
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="MySqlTotal_480" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>mysqltotal-480.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="SqlCeTotal_480" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>sqlcetotal-480.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="SqlServerTotal_480" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>sqlservertotal-480.sql;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
</root>
|
||||
1681
src/Umbraco.Tests/Migrations/SqlScripts/SqlServerTotal-480.sql
Normal file
1681
src/Umbraco.Tests/Migrations/SqlScripts/SqlServerTotal-480.sql
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,70 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Persistence.Migrations;
|
||||
using Umbraco.Core.Persistence.SqlSyntax;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
|
||||
namespace Umbraco.Tests.Migrations
|
||||
{
|
||||
[TestFixture]
|
||||
public class TargetVersionSixthMigrationsTest
|
||||
{
|
||||
[SetUp]
|
||||
public void Initialize()
|
||||
{
|
||||
TestHelper.SetupLog4NetForTests();
|
||||
|
||||
//this ensures its reset
|
||||
PluginManager.Current = new PluginManager(false);
|
||||
|
||||
//for testing, we'll specify which assemblies are scanned for the PluginTypeResolver
|
||||
PluginManager.Current.AssembliesToScan = new[]
|
||||
{
|
||||
typeof (MigrationRunner).Assembly
|
||||
};
|
||||
|
||||
SyntaxConfig.SqlSyntaxProvider = SqlCeSyntax.Provider;
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Find_Migrations_In_Current_Assembly()
|
||||
{
|
||||
var foundTypes = PluginManager.Current.ResolveMigrationTypes();
|
||||
|
||||
Assert.That(foundTypes.Any(), Is.True);
|
||||
Assert.That(foundTypes.Count(), Is.GreaterThanOrEqualTo(11));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Find_Targetted_Migrations()
|
||||
{
|
||||
var configuredVersion = new Version("4.11.0");
|
||||
var targetVersion = new Version("6.0.0");
|
||||
var foundMigrations = PluginManager.Current.FindMigrations();
|
||||
|
||||
var migrationRunner = new MigrationRunner(configuredVersion, targetVersion);
|
||||
var migrations = migrationRunner.OrderedUpgradeMigrations(foundMigrations);
|
||||
|
||||
var context = new MigrationContext();
|
||||
foreach (MigrationBase migration in migrations)
|
||||
{
|
||||
migration.GetUpExpressions(context);
|
||||
}
|
||||
|
||||
foreach (var expression in context.Expressions)
|
||||
{
|
||||
Console.WriteLine(expression.ToString());
|
||||
}
|
||||
|
||||
Assert.That(migrations.Count(), Is.EqualTo(11));
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
PluginManager.Current = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,8 @@ namespace Umbraco.Tests.TestHelpers
|
||||
TestHelper.SetupLog4NetForTests();
|
||||
TestHelper.InitializeContentDirectories();
|
||||
|
||||
UmbracoSettings.UseLegacyXmlSchema = false;
|
||||
|
||||
string path = TestHelper.CurrentAssemblyDirectory;
|
||||
AppDomain.CurrentDomain.SetData("DataDirectory", path);
|
||||
|
||||
@@ -48,8 +50,6 @@ namespace Umbraco.Tests.TestHelpers
|
||||
engine.CreateDatabase();
|
||||
}
|
||||
|
||||
UmbracoSettings.UseLegacyXmlSchema = false;
|
||||
|
||||
RepositoryResolver.Current = new RepositoryResolver(
|
||||
new RepositoryFactory());
|
||||
|
||||
|
||||
@@ -160,10 +160,17 @@
|
||||
<Compile Include="ContentStores\PublishMediaStoreTests.cs" />
|
||||
<Compile Include="Migrations\AlterMigrationTests.cs" />
|
||||
<Compile Include="Migrations\FindingMigrationsTest.cs" />
|
||||
<Compile Include="Migrations\SqlCeUpgradeTest.cs" />
|
||||
<Compile Include="Migrations\SqlScripts\SqlResources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>SqlResources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Migrations\Stubs\AlterUserTableMigrationStub.cs" />
|
||||
<Compile Include="Migrations\PluginManagerExtensions.cs" />
|
||||
<Compile Include="Migrations\Stubs\Dummy.cs" />
|
||||
<Compile Include="Migrations\Stubs\FourNineMigration.cs" />
|
||||
<Compile Include="Migrations\TargetVersionSixthMigrationsTest.cs" />
|
||||
<Compile Include="Persistence\Querying\ContentRepositorySqlClausesTest.cs" />
|
||||
<Compile Include="Persistence\Querying\ContentTypeRepositorySqlClausesTest.cs" />
|
||||
<Compile Include="Persistence\SyntaxProvider\SqlSyntaxProviderTests.cs" />
|
||||
@@ -343,6 +350,10 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Migrations\SqlScripts\SqlResources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>SqlResources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="TestHelpers\ExamineHelpers\ExamineResources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>ExamineResources.Designer.cs</LastGenOutput>
|
||||
@@ -376,7 +387,11 @@
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Content Include="Migrations\SqlScripts\MySqlTotal-480.sql" />
|
||||
<Content Include="Migrations\SqlScripts\SqlCeTotal-480.sql" />
|
||||
<Content Include="Migrations\SqlScripts\SqlServerTotal-480.sql" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>xcopy "$(ProjectDir)"..\packages\SqlServerCE.4.0.0.0\amd64\*.* "$(TargetDir)amd64\" /Y /F /E /D
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
using Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSixth;
|
||||
using umbraco.BusinessLogic;
|
||||
using umbraco.interfaces;
|
||||
|
||||
namespace Umbraco.Web.Strategies
|
||||
{
|
||||
/// <summary>
|
||||
/// This is kind of a hack to ensure that Apps and Trees that might still reside in the db is
|
||||
/// written to the 'new' applications.config and trees.config files upon upgrade to version 6.0
|
||||
/// </summary>
|
||||
public class EnsureAppsTreesUpdatedOnUpgrade : IApplicationStartupHandler
|
||||
{
|
||||
public EnsureAppsTreesUpdatedOnUpgrade()
|
||||
{
|
||||
//This event will be triggered once the EnsureAppsTreesUpdated Up() method is run during upgrades
|
||||
EnsureAppsTreesUpdated.Upgrading += EnsureAppsTreesUpdated_Upgrading;
|
||||
}
|
||||
|
||||
void EnsureAppsTreesUpdated_Upgrading(object sender, EnsureAppsTreesUpdated.UpgradingEventArgs e)
|
||||
{
|
||||
var treeRegistrar = new ApplicationTreeRegistrar();
|
||||
var appRegistrar = new ApplicationRegistrar();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -326,6 +326,7 @@
|
||||
<Compile Include="RouteCollectionExtensions.cs" />
|
||||
<Compile Include="Routing\LookupByPageIdQuery.cs" />
|
||||
<Compile Include="Mvc\SurfaceControllerResolver.cs" />
|
||||
<Compile Include="Strategies\EnsureAppsTreesUpdatedOnUpgrade.cs" />
|
||||
<Compile Include="Templates\TemplateRenderer.cs" />
|
||||
<Compile Include="Templates\TemplateUtilities.cs" />
|
||||
<Compile Include="umbraco.presentation\Default.aspx.cs">
|
||||
@@ -2181,9 +2182,7 @@
|
||||
<CachedSettingsPropName>umbraco_org_umbraco_update_CheckForUpgrade</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Strategies\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
|
||||
Reference in New Issue
Block a user