protected void CreateIndex(string name, string columns) { Connection.Execute(String.Format( "CREATE INDEX {0} ON {1} ({2})", name, TableName, columns )); }
public override void Reload() { lock (this) { if (last_reload_fragment != model.ReloadFragment || last_reload_command == null) { last_reload_fragment = model.ReloadFragment; last_reload_command = new HyenaSqliteCommand(String.Format("{0}{1}", reload_sql, last_reload_fragment)); } Clear(); //Log.DebugFormat ("Reloading {0} with {1}", model, last_reload_command.Text); connection.Execute(last_reload_command); } }
protected virtual void CheckVersion() { if (Connection.TableExists(HyenaTableName)) { using (var reader = Connection.Query(SelectVersionSql(TableName))) { if (reader.Read()) { int table_version = reader.Get <int> (0); if (table_version < ModelVersion) { MigrateTable(table_version); UpdateVersion(TableName, ModelVersion); } } else { InsertVersion(TableName, ModelVersion); } } int db_version = Connection.Query <int> (SelectVersionSql(HYENA_DATABASE_NAME)); if (db_version < DatabaseVersion) { MigrateDatabase(db_version); UpdateVersion(HYENA_DATABASE_NAME, DatabaseVersion); } } else { Connection.Execute(string.Format( @"CREATE TABLE {0} ( id INTEGER PRIMARY KEY, name TEXT UNIQUE, version INTEGER)", HyenaTableName) ); InsertVersion(HYENA_DATABASE_NAME, DatabaseVersion); InsertVersion(TableName, ModelVersion); } }