Imports System.Text
Namespace Database.Base
Public Class DatabaseData
Enum TypeEnum
[Bit]
[Char]
[Date]
[DateTime]
[Double]
[Enum]
[Float]
[Int]
[IntUnsigned]
[Json]
[Text]
[Time]
Varchar
[Year]
End Enum
'''
''' 列名
'''
'''
Public Property ColumnName() As String
'''
''' 当前值
'''
'''
Public Property Value() As String
'''
''' 默认值
'''
'''
Public Property DefaultValue() As String
'''
''' 数据类型
'''
'''
Public Property DataType() As TypeEnum
'''
''' 数据类型长度
'''
'''
Public Property DataTypeLength() As Integer
'''
''' 是否允许为空
'''
'''
Public Property IsNull() As Boolean = True
'''
''' 是否自动增长
'''
'''
Public Property IsAutoIncrement() As Boolean
'''
''' 是否为主键
'''
'''
Public Property IsPrimaryKey() As Boolean
Public Function ToAddColString() As String
Dim sb As New StringBuilder
sb.Append($"`{ColumnName}`")
Select Case DataType
Case TypeEnum.Char, TypeEnum.Varchar
sb.Append($" {DataType}({DataTypeLength}) ")
Case TypeEnum.Int
sb.Append($" {DataType}")
If IsAutoIncrement Then sb.Append($" AUTO_INCREMENT")
Case Else
sb.Append($" {DataType}")
End Select
sb.Append(IIf(IsNull, " Default Null", " Not Null"))
If IsPrimaryKey Then
sb.Append($" PRIMARY KEY")
End If
Return sb.ToString()
End Function
End Class
End Namespace