我正在使用带有pgloader
的加载文件,并且我的MySQL数据库中存在一个特别有问题的表格,其日期时间不正确。我想在迁移过程中跳过该列。如何在加载文件中执行此操作?类似的东西:
LOAD DATABASE
FROM mysql://root@localhost/mydb
INTO postgresql:///mypgdb
INCLUDING ONLY TABLE NAMES MATCHING
'Table_with_Datetimes_Column' AS dt,
'My_Other_Table'
EXCLUDING dt.Malformed_Column
;
答案 0 :(得分:2)
您可以完全排除有问题的表,然后使用load命令的MATERIALIZING VIEW子句从视图迁移数据。因此,首先在表格顶部定义一个视图,其中省略有问题的列,然后
exclude table name matching 'Table_with_Datetimes_Column'
materialize views 'v_Table_without_Datetimes_Column'
请参阅pgloader存储库中test目录中的示例,特别是sakila.load:https://github.com/dimitri/pgloader/blob/master/test/sakila.load