Added MariaDB -> SQLite conversion utility.

This commit is contained in:
flash 2025-04-28 19:22:31 +00:00
commit eae379e933
Signed by: flash
GPG key ID: 2C9C2C574D47FE3E
6 changed files with 82 additions and 18 deletions
SharpChat.SQLite

View file

@ -22,21 +22,22 @@ public class SQLiteStorage(ILogger logger, string connString) : Storage, IDispos
await new SQLiteMigrations(logger, Connection).RunMigrations();
}
public static string BuildConnectionString(Config config) {
public static string BuildConnectionString(Config config, bool journalling = true) {
return BuildConnectionString(
config.ReadValue("path", DEFAULT)!,
config.ReadValue("pass")
config.ReadValue("pass"),
config.ReadValue("journal", journalling)
);
}
public static string BuildConnectionString(string path, string? password) {
public static string BuildConnectionString(string path, string? password, bool journalling = true) {
return new SQLiteConnectionStringBuilder {
DataSource = string.IsNullOrWhiteSpace(path) ? MEMORY : path,
DateTimeFormat = SQLiteDateFormats.ISO8601,
DateTimeKind = DateTimeKind.Utc,
FailIfMissing = false,
ForeignKeys = true,
JournalMode = SQLiteJournalModeEnum.Wal,
JournalMode = journalling ? SQLiteJournalModeEnum.Wal : SQLiteJournalModeEnum.Off,
LegacyFormat = false,
Password = string.IsNullOrWhiteSpace(password) ? null : password,
ReadOnly = false,