Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { MyAddr string `toml:"my_addr"` MyUser string `toml:"my_user"` MyPassword string `toml:"my_pass"` MyCharset string `toml:"my_charset"` AllDB string `toml:"my_alldb"` MongoAddr string `toml:"mongo_addr"` MongoUser string `toml:"mongo_user"` MongoPassword string `toml:"mongo_pass"` StatAddr string `toml:"stat_addr"` ServerID uint32 `toml:"server_id"` Flavor string `toml:"flavor"` DataDir string `toml:"data_dir"` DumpExec string `toml:"mysqldump"` Sources []SourceConfig `toml:"source"` Rules []*Rule `toml:"rule"` BulkSize int `toml:"bulk_size"` FlushBulkTime TomlDuration `toml:"flush_bulk_time"` }
func NewConfigWithFile ¶
type Rule ¶
type Rule struct { Schema string `toml:"schema"` Table string `toml:"table"` Database string `toml:"database"` Collection string `toml:"collection"` ID []string `toml:"id"` // Default, a MySQL table field name is mapped to MongoDB field name. // Sometimes, you want to use different name, e.g, the MySQL file name is title, // but in Elasticsearch, you want to name it my_title. FieldMapping map[string]string `toml:"field"` // MySQL table information TableInfo *schema.Table //only MySQL fields in fileter will be synced , default sync all fields Fileter []string `toml:"filter"` }
If you want to sync MySQL data into MongoDB, you must set a rule to let use know how to do it. The mapping rule may thi: schema + table <-> database + collection. schema and table is for MySQL, database and collection type is for MongoDB.
func (*Rule) CheckFilter ¶
type SourceConfig ¶
type TomlDuration ¶
func (*TomlDuration) UnmarshalText ¶
func (d *TomlDuration) UnmarshalText(text []byte) error
Click to show internal directories.
Click to hide internal directories.