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 r. 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(f *reverse.Write, sourceSchema string, ...) error
- func GenCreateSchema(w *reverse.Write, ...) 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)
- 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() (tableColumns []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() (tableKeys []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) 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"` TargetDBVersion string `json:"target_db_version"` TableColumns []string `json:"table_columns"` TableKeys []string `json:"table_keys"` TableSuffix string `json:"table_suffix"` TableComment string `json:"table_comment"` TableCheckKeys []string `json:"table_check_keys""` TableForeignKeys []string `json:"table_foreign_keys"` TableCompatibleDDL []string `json:"table_compatible_ddl"` }
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"` }
type Reverse ¶
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) GenTableUniqueIndex ¶
func (*Rule) GenTableUniqueKey ¶
type Table ¶
type Table struct { Ctx context.Context `json:"-"` SourceSchemaName string `json:"source_schema_name"` TargetSchemaName string `json:"target_schema_name"` SourceTableName string `json:"source_table_name"` TargetDBVersion string `json:"target_db_version"` TargetTableName string `json:"target_table_name"` OracleCollation bool `json:"oracle_collation"` SourceDBCharset string `json:"sourcedb_charset"` TargetDBCharset string `json:"targetdb_charset"` SourceSchemaCollation string `json:"source_schema_collation"` // 可为空 SourceTableCollation string `json:"source_table_collation"` // 可为空 SourceDBNLSSort string `json:"sourcedb_nlssort"` SourceDBNLSComp string `json:"sourcedb_nlscomp"` SourceTableType string `json:"source_table_type"` 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, tableNameRule map[string]string, tableColumnRule map[string]map[string]string, tableDefaultSourceRule map[string]map[string]bool, tableDefaultRule map[string]map[string]string, oracleDBVersion, oracleDBCharset, targetDBCharset string, oracleCollation bool, lowerCaseFieldName string, exporters []string, nlsSort, nlsComp string) ([]*Table, error)