Merge branch 'release/v1.1.0' of github.com:ONLYOFFICE/AppServer into release/v1.1.0

This commit is contained in:
Nikita Gopienko 2021-11-30 14:22:54 +03:00
commit 591809883f
3 changed files with 1302 additions and 662 deletions

View File

@ -0,0 +1,563 @@
// <auto-generated />
using System;
using ASC.Files.Core.EF;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace ASC.Files.Core.Migrations.MySql.FilesDbContextMySql
{
[DbContext(typeof(MySqlFilesDbContext))]
[Migration("20211130105913_FilesDbContextMySql_Upgrade1")]
partial class FilesDbContextMySql_Upgrade1
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ASC.Files.Core.EF.DbFile", b =>
{
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<int>("Id")
.HasColumnType("int")
.HasColumnName("id");
b.Property<int>("Version")
.HasColumnType("int")
.HasColumnName("version");
b.Property<int>("Category")
.HasColumnType("int")
.HasColumnName("category");
b.Property<string>("Changes")
.HasColumnType("mediumtext")
.HasColumnName("changes")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Comment")
.HasColumnType("varchar(255)")
.HasColumnName("comment")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<long>("ContentLength")
.HasColumnType("bigint")
.HasColumnName("content_length");
b.Property<string>("ConvertedType")
.HasColumnType("varchar(10)")
.HasColumnName("converted_type")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("CreateBy")
.IsRequired()
.HasColumnType("char(38)")
.HasColumnName("create_by")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<DateTime>("CreateOn")
.HasColumnType("datetime")
.HasColumnName("create_on");
b.Property<bool>("CurrentVersion")
.HasColumnType("tinyint(1)")
.HasColumnName("current_version");
b.Property<bool>("Encrypted")
.HasColumnType("tinyint(1)")
.HasColumnName("encrypted");
b.Property<int>("FileStatus")
.HasColumnType("int")
.HasColumnName("file_status");
b.Property<int>("FolderId")
.HasColumnType("int")
.HasColumnName("folder_id");
b.Property<int>("Forcesave")
.HasColumnType("int")
.HasColumnName("forcesave");
b.Property<string>("ModifiedBy")
.IsRequired()
.HasColumnType("char(38)")
.HasColumnName("modified_by")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<DateTime>("ModifiedOn")
.HasColumnType("datetime")
.HasColumnName("modified_on");
b.Property<int>("Thumb")
.HasColumnType("int")
.HasColumnName("thumb");
b.Property<string>("Title")
.IsRequired()
.HasColumnType("varchar(400)")
.HasColumnName("title")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("VersionGroup")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("version_group")
.HasDefaultValueSql("'1'");
b.HasKey("TenantId", "Id", "Version")
.HasName("PRIMARY");
b.HasIndex("FolderId")
.HasDatabaseName("folder_id");
b.HasIndex("Id")
.HasDatabaseName("id");
b.HasIndex("ModifiedOn")
.HasDatabaseName("modified_on");
b.ToTable("files_file", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFilesBunchObjects", b =>
{
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<string>("RightNode")
.HasColumnType("varchar(255)")
.HasColumnName("right_node")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("LeftNode")
.IsRequired()
.HasColumnType("varchar(255)")
.HasColumnName("left_node")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.HasKey("TenantId", "RightNode")
.HasName("PRIMARY");
b.HasIndex("LeftNode")
.HasDatabaseName("left_node");
b.ToTable("files_bunch_objects", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFilesLink", b =>
{
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<string>("SourceId")
.HasColumnType("varchar(32)")
.HasColumnName("source_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("LinkedId")
.HasColumnType("varchar(32)")
.HasColumnName("linked_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("LinkedFor")
.IsRequired()
.HasColumnType("char(38)")
.HasColumnName("linked_for")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.HasKey("TenantId", "SourceId", "LinkedId")
.HasName("PRIMARY");
b.HasIndex("TenantId", "SourceId", "LinkedId", "LinkedFor")
.HasDatabaseName("linked_for");
b.ToTable("files_link", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFilesSecurity", b =>
{
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<string>("EntryId")
.HasColumnType("varchar(50)")
.HasColumnName("entry_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("EntryType")
.HasColumnType("int")
.HasColumnName("entry_type");
b.Property<string>("Subject")
.HasColumnType("char(38)")
.HasColumnName("subject")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Owner")
.IsRequired()
.HasColumnType("char(38)")
.HasColumnName("owner")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("Security")
.HasColumnType("int")
.HasColumnName("security");
b.Property<DateTime>("TimeStamp")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("timestamp")
.HasColumnName("timestamp")
.HasDefaultValueSql("CURRENT_TIMESTAMP");
b.HasKey("TenantId", "EntryId", "EntryType", "Subject")
.HasName("PRIMARY");
b.HasIndex("Owner")
.HasDatabaseName("owner");
b.HasIndex("TenantId", "EntryType", "EntryId", "Owner")
.HasDatabaseName("tenant_id");
b.ToTable("files_security", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFilesTag", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("id");
b.Property<int>("Flag")
.HasColumnType("int")
.HasColumnName("flag");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("varchar(255)")
.HasColumnName("name")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Owner")
.IsRequired()
.HasColumnType("varchar(38)")
.HasColumnName("owner")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.HasKey("Id");
b.HasIndex("TenantId", "Owner", "Name", "Flag")
.HasDatabaseName("name");
b.ToTable("files_tag", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFilesTagLink", b =>
{
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<int>("TagId")
.HasColumnType("int")
.HasColumnName("tag_id");
b.Property<string>("EntryId")
.HasColumnType("varchar(32)")
.HasColumnName("entry_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("EntryType")
.HasColumnType("int")
.HasColumnName("entry_type");
b.Property<string>("CreateBy")
.HasColumnType("char(38)")
.HasColumnName("create_by")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<DateTime?>("CreateOn")
.HasColumnType("datetime")
.HasColumnName("create_on");
b.Property<int>("TagCount")
.HasColumnType("int")
.HasColumnName("tag_count");
b.HasKey("TenantId", "TagId", "EntryId", "EntryType")
.HasName("PRIMARY");
b.HasIndex("CreateOn")
.HasDatabaseName("create_on");
b.HasIndex("TenantId", "EntryId", "EntryType")
.HasDatabaseName("entry_id");
b.ToTable("files_tag_link", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFilesThirdpartyAccount", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("id");
b.Property<DateTime>("CreateOn")
.HasColumnType("datetime")
.HasColumnName("create_on");
b.Property<int>("FolderType")
.HasColumnType("int")
.HasColumnName("folder_type");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("varchar(100)")
.HasColumnName("password")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Provider")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("varchar(50)")
.HasColumnName("provider")
.HasDefaultValueSql("'0'")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<string>("Title")
.IsRequired()
.HasColumnType("varchar(400)")
.HasColumnName("customer_title")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Token")
.HasColumnType("text")
.HasColumnName("token")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Url")
.HasColumnType("text")
.HasColumnName("url")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("varchar(38)")
.HasColumnName("user_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("UserName")
.IsRequired()
.HasColumnType("varchar(100)")
.HasColumnName("user_name")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.HasKey("Id");
b.ToTable("files_thirdparty_account", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFilesThirdpartyApp", b =>
{
b.Property<string>("UserId")
.HasColumnType("varchar(38)")
.HasColumnName("user_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("App")
.HasColumnType("varchar(50)")
.HasColumnName("app")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<DateTime>("ModifiedOn")
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("timestamp")
.HasColumnName("modified_on")
.HasDefaultValueSql("CURRENT_TIMESTAMP");
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<string>("Token")
.HasColumnType("text")
.HasColumnName("token")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.HasKey("UserId", "App")
.HasName("PRIMARY");
b.ToTable("files_thirdparty_app", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFilesThirdpartyIdMapping", b =>
{
b.Property<string>("HashId")
.HasColumnType("char(32)")
.HasColumnName("hash_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("Id")
.IsRequired()
.HasColumnType("text")
.HasColumnName("id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.HasKey("HashId")
.HasName("PRIMARY");
b.HasIndex("TenantId", "HashId")
.HasDatabaseName("index_1");
b.ToTable("files_thirdparty_id_mapping", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFolder", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("id");
b.Property<string>("CreateBy")
.IsRequired()
.HasColumnType("char(38)")
.HasColumnName("create_by")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<DateTime>("CreateOn")
.HasColumnType("datetime")
.HasColumnName("create_on");
b.Property<int>("FilesCount")
.HasColumnType("int")
.HasColumnName("filesCount");
b.Property<int>("FolderType")
.HasColumnType("int")
.HasColumnName("folder_type");
b.Property<int>("FoldersCount")
.HasColumnType("int")
.HasColumnName("foldersCount");
b.Property<string>("ModifiedBy")
.IsRequired()
.HasColumnType("char(38)")
.HasColumnName("modified_by")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<DateTime>("ModifiedOn")
.HasColumnType("datetime")
.HasColumnName("modified_on");
b.Property<int>("ParentId")
.HasColumnType("int")
.HasColumnName("parent_id");
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<string>("Title")
.IsRequired()
.HasColumnType("varchar(400)")
.HasColumnName("title")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.HasKey("Id");
b.HasIndex("ModifiedOn")
.HasDatabaseName("modified_on");
b.HasIndex("TenantId", "ParentId")
.HasDatabaseName("parent_id");
b.ToTable("files_folder", (string)null);
});
modelBuilder.Entity("ASC.Files.Core.EF.DbFolderTree", b =>
{
b.Property<int>("ParentId")
.HasColumnType("int")
.HasColumnName("parent_id");
b.Property<int>("FolderId")
.HasColumnType("int")
.HasColumnName("folder_id");
b.Property<int>("Level")
.HasColumnType("int")
.HasColumnName("level");
b.HasKey("ParentId", "FolderId")
.HasName("PRIMARY");
b.HasIndex("FolderId")
.HasDatabaseName("folder_id");
b.ToTable("files_folder_tree", (string)null);
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,41 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ASC.Files.Core.Migrations.MySql.FilesDbContextMySql
{
public partial class FilesDbContextMySql_Upgrade1 : Microsoft.EntityFrameworkCore.Migrations.Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "files_link",
columns: table => new
{
tenant_id = table.Column<int>(type: "int", nullable: false),
source_id = table.Column<string>(type: "varchar(32)", nullable: false, collation: "utf8_general_ci")
.Annotation("MySql:CharSet", "utf8"),
linked_id = table.Column<string>(type: "varchar(32)", nullable: false, collation: "utf8_general_ci")
.Annotation("MySql:CharSet", "utf8"),
linked_for = table.Column<string>(type: "char(38)", nullable: false, collation: "utf8_general_ci")
.Annotation("MySql:CharSet", "utf8")
},
constraints: table =>
{
table.PrimaryKey("PRIMARY", x => new { x.tenant_id, x.source_id, x.linked_id });
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "linked_for",
table: "files_link",
columns: new[] { "tenant_id", "source_id", "linked_id", "linked_for" });
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "files_link");
}
}
}