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, sourceSchema, targetSchema, sourceDBCharset string, ...) error
- func IChanger(c reverse.Changer) (map[string]string, map[string]map[string]string, map[string]map[string]string, ...)
- 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
- 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
- func (r *Rule) GenTableNormalIndex() (normalIndexes []string, compatibilityIndexSQL []string, err error)
- func (r *Rule) GenTablePrefix() (string, string)
- 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"` TablePrefix string `json:"table_prefix"` 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) GenTablePrefix ¶
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"` TargetTableOption string `json:"target_table_option"` SourceDBCharset string `json:"sourcedb_charset"` OracleCollation bool `json:"oracle_collation"` 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"` TableColumnDatatypeRule map[string]string `json:"table_column_datatype_rule"` TableColumnDefaultValRule map[string]string `json:"table_column_default_val_rule"` Overwrite bool `json:"overwrite"` Oracle *oracle.Oracle `json:"-"` MySQL *mysql.MySQL `json:"-"` MetaDB *meta.Meta `json:"-"` }