diff options
| author | crupest <crupest@outlook.com> | 2020-06-14 00:21:25 +0800 |
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2020-06-14 00:21:25 +0800 |
| commit | 4cfb50d40384e5dea1805f8d6fc5ab38cd32d93b (patch) | |
| tree | c9395a11fa6ccefe6a03e81c7b837e28b2e3e97a /Timeline/Entities | |
| parent | 2f8ffdb2db682b1c1407313816def20fde58d35f (diff) | |
| download | timeline-4cfb50d40384e5dea1805f8d6fc5ab38cd32d93b.tar.gz timeline-4cfb50d40384e5dea1805f8d6fc5ab38cd32d93b.tar.bz2 timeline-4cfb50d40384e5dea1805f8d6fc5ab38cd32d93b.zip | |
refactor(back): Use a better way to handle unique id in timeline.
Diffstat (limited to 'Timeline/Entities')
| -rw-r--r-- | Timeline/Entities/DatabaseContext.cs | 11 | ||||
| -rw-r--r-- | Timeline/Entities/TimelineEntity.cs | 4 |
2 files changed, 3 insertions, 12 deletions
diff --git a/Timeline/Entities/DatabaseContext.cs b/Timeline/Entities/DatabaseContext.cs index 96e47cc8..af7d2edb 100644 --- a/Timeline/Entities/DatabaseContext.cs +++ b/Timeline/Entities/DatabaseContext.cs @@ -9,15 +9,6 @@ namespace Timeline.Entities public DatabaseContext(DbContextOptions<DatabaseContext> options)
: base(options)
{
- if (Database.IsSqlite())
- {
- var connection = (SqliteConnection)Database.GetDbConnection();
- connection.CreateFunction("timeline_create_guid", () => Guid.NewGuid().ToString());
- }
- else
- {
- throw new InvalidOperationException(Resources.Entities.ExceptionOnlySqliteSupported);
- }
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
@@ -25,7 +16,7 @@ namespace Timeline.Entities modelBuilder.Entity<UserEntity>().Property(e => e.Version).HasDefaultValue(0);
modelBuilder.Entity<UserEntity>().HasIndex(e => e.Username).IsUnique();
modelBuilder.Entity<DataEntity>().HasIndex(e => e.Tag).IsUnique();
- modelBuilder.Entity<TimelineEntity>().Property(e => e.UniqueId).HasDefaultValueSql("timeline_create_guid()");
+ modelBuilder.Entity<TimelineEntity>().Property(e => e.UniqueId).HasDefaultValueSql("randomblob(16)");
}
public DbSet<UserEntity> Users { get; set; } = default!;
diff --git a/Timeline/Entities/TimelineEntity.cs b/Timeline/Entities/TimelineEntity.cs index 1159cbfe..4a4e8502 100644 --- a/Timeline/Entities/TimelineEntity.cs +++ b/Timeline/Entities/TimelineEntity.cs @@ -14,8 +14,8 @@ namespace Timeline.Entities [Column("id"), Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
- [Column("unique_id"), Required]
- public string UniqueId { get; set; } = default!;
+ [Column("unique_id", TypeName = "BLOB"), Required]
+ public Guid UniqueId { get; set; } = default!;
/// <summary>
/// If null, then this timeline is a personal timeline.
|
