mysql_data_source.py 810 B

1234567891011121314151617181920212223242526
  1. # -*- coding:utf-8 -*-
  2. from dw_base.datax.datasources.data_source import DataSource
  3. from dw_base.datax.datax_constants import DS_MYSQL_JDBC_URL
  4. # MySQL Data Source
  5. DS_TYPE_MYSQL = 'mysql'
  6. DS_MYSQL_KEYS = [DS_MYSQL_JDBC_URL, 'username', 'password']
  7. class MySQLDataSource(DataSource):
  8. def __init__(self, ds_file: str):
  9. super(MySQLDataSource, self).__init__(ds_file)
  10. self.source_type = DS_TYPE_MYSQL
  11. self.keys = DS_MYSQL_KEYS
  12. @staticmethod
  13. def generate_definition(host: str, port: int, username: str, password: str, database: str) -> str:
  14. lines = [
  15. '[base]',
  16. 'jdbcUrl=jdbc:mysql://%s:%s/%s' % (host, str(port), database),
  17. 'username=%s' % username,
  18. 'password=%s' % password
  19. ]
  20. return '\n'.join(lines)