Documentation ¶
Overview ¶
Copyright © 2020 Marvin
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 Marvin ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 Marvin ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 Marvin ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 Marvin ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- func GenCompatibilityTable(w *reverse.Write, sourceSchema string, ...) error
- func GenCreateSchema(w *reverse.Write, lowerCaseFieldName, sourceSchema, targetSchema string, ...) error
- func IChanger(c reverse.Changer) (map[string]string, map[string]map[string]string, map[string]map[string]bool, ...)
- func IWriter(w *reverse.Write, iw reverse.Writer) (string, error)
- func PreCheckCompatibility(cfg *config.Config, mysql *mysql.MySQL, exporters []string, ...) ([]string, map[string][]map[string]string, map[string][]map[string]string, ...)
- type DDL
- type Info
- type Reverse
- type Rule
- func (r *Rule) GenCreateTableDDL() (interface{}, error)
- func (r *Rule) GenSchemaName() (string, error)
- func (r *Rule) GenTableCheckKey() (checkKeys []string, err error)
- func (r *Rule) GenTableColumn() (columnMetas []string, err error)
- func (r *Rule) GenTableColumnComment() (columnComments []string, err error)
- func (r *Rule) GenTableComment() (tableComment string, err error)
- func (r *Rule) GenTableForeignKey() (foreignKeys []string, err error)
- func (r *Rule) GenTableKeys() (tableKeyMetas []string, compatibilityIndexSQL []string, err error)
- func (r *Rule) GenTableName() (string, error)
- func (r *Rule) GenTableNormalIndex() (normalIndexes []string, compatibilityIndexSQL []string, err error)
- func (r *Rule) GenTablePrimaryKey() (primaryKeys []string, err error)
- func (r *Rule) GenTableSuffix() (string, error)
- func (r *Rule) GenTableUniqueIndex() (uniqueIndexes []string, compatibilityIndexSQL []string, err error)
- func (r *Rule) GenTableUniqueKey() (uniqueKeys []string, err error)
- func (r *Rule) String() string
- type Table
- func (t *Table) GetTableCheckKey() ([]map[string]string, error)
- func (t *Table) GetTableColumnComment() ([]map[string]string, error)
- func (t *Table) GetTableColumnMeta() ([]map[string]string, error)
- func (t *Table) GetTableComment() ([]map[string]string, error)
- func (t *Table) GetTableForeignKey() ([]map[string]string, error)
- func (t *Table) GetTableInfo() (interface{}, error)
- func (t *Table) GetTableNormalIndex() ([]map[string]string, error)
- func (t *Table) GetTableOriginDDL() (string, error)
- func (t *Table) GetTablePartitionDetail() (string, error)
- func (t *Table) GetTablePrimaryKey() ([]map[string]string, error)
- func (t *Table) GetTableUniqueIndex() ([]map[string]string, error)
- func (t *Table) GetTableUniqueKey() ([]map[string]string, error)
- func (t *Table) String() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenCompatibilityTable ¶
func GenCreateSchema ¶
Types ¶
type DDL ¶
type DDL struct { SourceSchemaName string `json:"source_schema"` SourceTableName string `json:"source_table_name"` SourceTableType string `json:"source_table_type"` SourceTableDDL string `json:"-"` // 忽略 TargetSchemaName string `json:"target_schema"` TargetTableName string `json:"target_table_name"` TableColumns []string `json:"table_columns"` TableKeys []string `json:"table_keys"` TableIndexes []string `json:"table_indexes"` TableSuffix string `json:"table_suffix"` TableComment string `json:"table_comment"` ColumnCommentDDL []string `json:"column_comment_ddl"` TableCheckKeys []string `json:"table_check_keys""` TableForeignKeys []string `json:"table_foreign_keys"` TableCompatibleDDL []string `json:"table_compatible_ddl"` TablePartitionDetail string `json:"table_partition_detail"` }
func (*DDL) GenDDLStructure ¶
type Info ¶
type Info struct { SourceTableDDL string `json:"-"` // 忽略 PrimaryKeyINFO []map[string]string `json:"primary_key_info"` UniqueKeyINFO []map[string]string `json:"unique_key_info"` ForeignKeyINFO []map[string]string `json:"foreign_key_info"` CheckKeyINFO []map[string]string `json:"check_key_info"` UniqueIndexINFO []map[string]string `json:"unique_index_info"` NormalIndexINFO []map[string]string `json:"normal_index_info"` TableCommentINFO []map[string]string `json:"table_comment_info"` TableColumnINFO []map[string]string `json:"table_column_info"` ColumnCommentINFO []map[string]string `json:"column_comment_info"` TablePartitionDetail string `json:"table_partition_detail"` }
type Rule ¶
func (*Rule) GenCreateTableDDL ¶
func (*Rule) GenSchemaName ¶
func (*Rule) GenTableCheckKey ¶
func (*Rule) GenTableColumn ¶
func (*Rule) GenTableColumnComment ¶
func (*Rule) GenTableComment ¶
func (*Rule) GenTableForeignKey ¶
func (*Rule) GenTableKeys ¶
func (*Rule) GenTableName ¶
func (*Rule) GenTableNormalIndex ¶
func (*Rule) GenTablePrimaryKey ¶
func (*Rule) GenTableSuffix ¶
func (*Rule) GenTableUniqueIndex ¶
func (*Rule) GenTableUniqueKey ¶
type Table ¶
type Table struct { Ctx context.Context `json:"-"` OracleDBVersion string `json:"oracle_db_version"` OracleExtendedMode bool `json:"oracle_extended_mode"` SourceSchemaName string `json:"source_schema_name"` TargetSchemaName string `json:"target_schema_name"` SourceTableName string `json:"source_table_name"` TargetTableName string `json:"target_table_name"` IsPartition bool `json:"is_partition"` SourceTableCharacterSet string `json:"source_table_character_set"` SourceTableCollation string `json:"source_table_collation"` SourceDBCharset string `json:"sourcedb_charset"` TargetDBCharset string `json:"targetdb_charset"` LowerCaseFieldName string `json:"lower_case_field_name"` TableColumnDatatypeRule map[string]string `json:"table_column_datatype_rule"` TableColumnDefaultValRule map[string]string `json:"table_column_default_val_rule"` TableColumnDefaultValSourceRule map[string]bool `json:"table_column_default_val_source_rule"` // 判断表字段 defaultVal 来源于 database or custom Overwrite bool `json:"overwrite"` Oracle *oracle.Oracle `json:"-"` MySQL *mysql.MySQL `json:"-"` MetaDB *meta.Meta `json:"-"` }
func GenReverseTableTask ¶
func GenReverseTableTask(r *Reverse, lowerCaseFieldName string, tableNameRule map[string]string, tableColumnRule map[string]map[string]string, tableDefaultRuleSource map[string]map[string]bool, tableDefaultRule map[string]map[string]string, exporters []string, oracleDBVersion string, isExtended bool, tableCharSetMap map[string]string, tableCollationMap map[string]string) ([]*Table, error)