public DatabaseSchemaCheckItem(string name, DatabaseSchemaTypes type, int version, DatabaseSchemaCreater creater) { Name = name; Type = type; Version = version; Creater = creater; }
/// <summary> /// 设置架构版本 /// </summary> /// <param name="name">架构名称</param> /// <param name="type">架构类型</param> /// <param name="version">架构版本</param> public void SetSchemaVersion(string name, DatabaseSchemaTypes type, int version) { int id = TypeExtensions.Convert <int>(_dataContext.ExecuteScalar("select [Id] from [Gouring_SchemaVersion] where [Name]=@p1 and [Type]=@p2 limit 0,1", name, type), 0); if (id > 0) { _dataContext.ExecuteNonQuery("update [Gouring_SchemaVersion] set [Version]=@p1 where [Id]=@p2", version, id); } else { _dataContext.ExecuteNonQuery("insert into [Gouring_SchemaVersion]([Name],[Type],[Version]) values(@p1,@p2,@p3)", name, type, version); } }
void ParseType() { if (!_isValid) { return; } foreach (RegexEntry entry in _regexs) { if (entry.regex.IsMatch(_tableName)) { _type = entry.type; return; } } _type = DatabaseSchemaTypes.Table; if (_order > 1) { _type = DatabaseSchemaTypes.TableField; } }
/// <summary> /// 获取架构版本 /// </summary> /// <param name="name">架构名称</param> /// <param name="type">架构类型</param> /// <returns>返回版本,如果未找到对应的记录将返回0。</returns> public int GetSchemaVersion(string name, DatabaseSchemaTypes type = DatabaseSchemaTypes.Table) { return(TypeExtensions.Convert <int>(_dataContext.ExecuteScalar("select [Version] from [Gouring_SchemaVersion] where [Name]=@p1 and [Type]=@p2 limit 0,1", name, type), 0)); }