| 1234567891011121314151617181920212223242526272829303132 | 
							- import sqlalchemy.dialects.mssql.base
 
- from sqlalchemy import create_engine, MetaData, Boolean, DATETIME
 
- from database import conn_string
 
- source_dsn = {'user': 'sa', 'pass': 'Mffu3011#', 'server': 'GC-SERVER1\\GLOBALCUBE', 'database': 'OPTIMA', 'driver': 'mssql'}
 
- source_schema = 'import'
 
- target_dsn = {'user': 'root', 'pass': '', 'server': 'localhost', 'database': 'OPTIMA', 'driver': 'mysql'}
 
- target_schema = ''
 
- source_db = create_engine(conn_string(source_dsn))
 
- source_meta = MetaData()
 
- source_meta.reflect(bind=source_db, schema=source_schema)
 
- # print('\n'.join(source_meta.tables.keys()))
 
- target_db = create_engine(conn_string(target_dsn))
 
- source_meta.bind = target_db
 
- for table in source_meta.sorted_tables:
 
-     table.schema = None
 
-     for col in table.c:
 
-         if getattr(col.type, 'collation', None) is not None:
 
-             col.type.collation = None
 
-         if type(col.type) is sqlalchemy.dialects.mssql.base.BIT:
 
-             col.type = Boolean()
 
-         if type(col.type) is DATETIME:
 
-             # print(table.name + '.' + col.name)
 
-             col.server_default = None
 
-         if type(col.type) is sqlalchemy.dialects.mssql.base.SMALLDATETIME:
 
-             col.type = DATETIME()
 
- source_meta.create_all()
 
 
  |