public void Initialize()
{
using (var rConnection = new SQLiteConnection(@"Data Source=Roaming\Preferences\Main.db; Page Size=8192").OpenAndReturn())
using (var rTransaction = rConnection.BeginTransaction())
{
using (var rCommand = rConnection.CreateCommand())
{
rCommand.CommandText =
"CREATE TABLE IF NOT EXISTS metadata(key TEXT PRIMARY KEY NOT NULL, value) WITHOUT ROWID; " +
"INSERT OR IGNORE INTO metadata(key, value) VALUES('version', 1); " +
"CREATE TABLE IF NOT EXISTS preference(key TEXT PRIMARY KEY NOT NULL, value) WITHOUT ROWID; " +
"INSERT OR REPLACE INTO preference(key, value) VALUES('main.version', @version);";
rCommand.Parameters.AddWithValue("@version", ProductInfo.AssemblyVersionString);
rCommand.ExecuteNonQuery();
}
rTransaction.Commit();
}
Connection = CoreDatabase.Connection;
using (var rCommand = Connection.CreateCommand())
{
rCommand.CommandText = "ATTACH @filename AS preference;";
rCommand.Parameters.AddWithValue("@filename", new FileInfo(@"Roaming\Preferences\Main.db").FullName);
rCommand.ExecuteNonQuery();
}
}