aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'Timeline/Entities')
-rw-r--r--Timeline/Entities/DatabaseContext.cs11
-rw-r--r--Timeline/Entities/TimelineEntity.cs4
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.