@webiny/migrations 5.39.7-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +26 -0
- package/README.md +1 -0
- package/ddb-es.d.ts +18 -0
- package/ddb-es.js +67 -0
- package/ddb-es.js.map +1 -0
- package/ddb.d.ts +18 -0
- package/ddb.js +49 -0
- package/ddb.js.map +1 -0
- package/migrations/5.35.0/001/FileSettingsMigration.d.ts +12 -0
- package/migrations/5.35.0/001/FileSettingsMigration.js +93 -0
- package/migrations/5.35.0/001/FileSettingsMigration.js.map +1 -0
- package/migrations/5.35.0/001/ddb/FileDataMigration.d.ts +14 -0
- package/migrations/5.35.0/001/ddb/FileDataMigration.js +156 -0
- package/migrations/5.35.0/001/ddb/FileDataMigration.js.map +1 -0
- package/migrations/5.35.0/001/ddb/index.d.ts +10 -0
- package/migrations/5.35.0/001/ddb/index.js +50 -0
- package/migrations/5.35.0/001/ddb/index.js.map +1 -0
- package/migrations/5.35.0/001/ddb-es/FileDataMigration.d.ts +17 -0
- package/migrations/5.35.0/001/ddb-es/FileDataMigration.js +172 -0
- package/migrations/5.35.0/001/ddb-es/FileDataMigration.js.map +1 -0
- package/migrations/5.35.0/001/ddb-es/index.d.ts +12 -0
- package/migrations/5.35.0/001/ddb-es/index.js +65 -0
- package/migrations/5.35.0/001/ddb-es/index.js.map +1 -0
- package/migrations/5.35.0/001/entities/createFileEntity.d.ts +92 -0
- package/migrations/5.35.0/001/entities/createFileEntity.js +62 -0
- package/migrations/5.35.0/001/entities/createFileEntity.js.map +1 -0
- package/migrations/5.35.0/001/entities/createLocaleEntity.d.ts +42 -0
- package/migrations/5.35.0/001/entities/createLocaleEntity.js +52 -0
- package/migrations/5.35.0/001/entities/createLocaleEntity.js.map +1 -0
- package/migrations/5.35.0/001/entities/createSettingsEntity.d.ts +90 -0
- package/migrations/5.35.0/001/entities/createSettingsEntity.js +37 -0
- package/migrations/5.35.0/001/entities/createSettingsEntity.js.map +1 -0
- package/migrations/5.35.0/001/entities/createTenantEntity.d.ts +42 -0
- package/migrations/5.35.0/001/entities/createTenantEntity.js +69 -0
- package/migrations/5.35.0/001/entities/createTenantEntity.js.map +1 -0
- package/migrations/5.35.0/001/types.d.ts +19 -0
- package/migrations/5.35.0/001/types.js +7 -0
- package/migrations/5.35.0/001/types.js.map +1 -0
- package/migrations/5.35.0/002/createLocaleEntity.d.ts +42 -0
- package/migrations/5.35.0/002/createLocaleEntity.js +32 -0
- package/migrations/5.35.0/002/createLocaleEntity.js.map +1 -0
- package/migrations/5.35.0/002/createSettingsEntity.d.ts +90 -0
- package/migrations/5.35.0/002/createSettingsEntity.js +61 -0
- package/migrations/5.35.0/002/createSettingsEntity.js.map +1 -0
- package/migrations/5.35.0/002/createTenantEntity.d.ts +42 -0
- package/migrations/5.35.0/002/createTenantEntity.js +46 -0
- package/migrations/5.35.0/002/createTenantEntity.js.map +1 -0
- package/migrations/5.35.0/002/index.d.ts +13 -0
- package/migrations/5.35.0/002/index.js +117 -0
- package/migrations/5.35.0/002/index.js.map +1 -0
- package/migrations/5.35.0/003/createTenantEntity.d.ts +42 -0
- package/migrations/5.35.0/003/createTenantEntity.js +46 -0
- package/migrations/5.35.0/003/createTenantEntity.js.map +1 -0
- package/migrations/5.35.0/003/createUserEntity.d.ts +90 -0
- package/migrations/5.35.0/003/createUserEntity.js +55 -0
- package/migrations/5.35.0/003/createUserEntity.js.map +1 -0
- package/migrations/5.35.0/003/index.d.ts +12 -0
- package/migrations/5.35.0/003/index.js +92 -0
- package/migrations/5.35.0/003/index.js.map +1 -0
- package/migrations/5.35.0/004/createTenantEntity.d.ts +90 -0
- package/migrations/5.35.0/004/createTenantEntity.js +57 -0
- package/migrations/5.35.0/004/createTenantEntity.js.map +1 -0
- package/migrations/5.35.0/004/index.d.ts +11 -0
- package/migrations/5.35.0/004/index.js +80 -0
- package/migrations/5.35.0/004/index.js.map +1 -0
- package/migrations/5.35.0/005/createLocaleEntity.d.ts +42 -0
- package/migrations/5.35.0/005/createLocaleEntity.js +32 -0
- package/migrations/5.35.0/005/createLocaleEntity.js.map +1 -0
- package/migrations/5.35.0/005/createModelEntity.d.ts +42 -0
- package/migrations/5.35.0/005/createModelEntity.js +101 -0
- package/migrations/5.35.0/005/createModelEntity.js.map +1 -0
- package/migrations/5.35.0/005/createTenantEntity.d.ts +48 -0
- package/migrations/5.35.0/005/createTenantEntity.js +13 -0
- package/migrations/5.35.0/005/createTenantEntity.js.map +1 -0
- package/migrations/5.35.0/005/index.d.ts +15 -0
- package/migrations/5.35.0/005/index.js +144 -0
- package/migrations/5.35.0/005/index.js.map +1 -0
- package/migrations/5.35.0/005/types.d.ts +42 -0
- package/migrations/5.35.0/005/types.js +7 -0
- package/migrations/5.35.0/005/types.js.map +1 -0
- package/migrations/5.35.0/006/constants.d.ts +3 -0
- package/migrations/5.35.0/006/constants.js +14 -0
- package/migrations/5.35.0/006/constants.js.map +1 -0
- package/migrations/5.35.0/006/ddb/PageDataMigration.d.ts +17 -0
- package/migrations/5.35.0/006/ddb/PageDataMigration.js +249 -0
- package/migrations/5.35.0/006/ddb/PageDataMigration.js.map +1 -0
- package/migrations/5.35.0/006/ddb/index.d.ts +10 -0
- package/migrations/5.35.0/006/ddb/index.js +49 -0
- package/migrations/5.35.0/006/ddb/index.js.map +1 -0
- package/migrations/5.35.0/006/ddb-es/PageDataMigration.d.ts +22 -0
- package/migrations/5.35.0/006/ddb-es/PageDataMigration.js +413 -0
- package/migrations/5.35.0/006/ddb-es/PageDataMigration.js.map +1 -0
- package/migrations/5.35.0/006/ddb-es/index.d.ts +12 -0
- package/migrations/5.35.0/006/ddb-es/index.js +64 -0
- package/migrations/5.35.0/006/ddb-es/index.js.map +1 -0
- package/migrations/5.35.0/006/entities/createEntryEntity.d.ts +89 -0
- package/migrations/5.35.0/006/entities/createEntryEntity.js +106 -0
- package/migrations/5.35.0/006/entities/createEntryEntity.js.map +1 -0
- package/migrations/5.35.0/006/entities/createLocaleEntity.d.ts +42 -0
- package/migrations/5.35.0/006/entities/createLocaleEntity.js +32 -0
- package/migrations/5.35.0/006/entities/createLocaleEntity.js.map +1 -0
- package/migrations/5.35.0/006/entities/createPageEntity.d.ts +89 -0
- package/migrations/5.35.0/006/entities/createPageEntity.js +113 -0
- package/migrations/5.35.0/006/entities/createPageEntity.js.map +1 -0
- package/migrations/5.35.0/006/entities/createTenantEntity.d.ts +48 -0
- package/migrations/5.35.0/006/entities/createTenantEntity.js +13 -0
- package/migrations/5.35.0/006/entities/createTenantEntity.js.map +1 -0
- package/migrations/5.35.0/006/types.d.ts +91 -0
- package/migrations/5.35.0/006/types.js +7 -0
- package/migrations/5.35.0/006/types.js.map +1 -0
- package/migrations/5.35.0/006/utils/getCompressedData.d.ts +4 -0
- package/migrations/5.35.0/006/utils/getCompressedData.js +19 -0
- package/migrations/5.35.0/006/utils/getCompressedData.js.map +1 -0
- package/migrations/5.35.0/006/utils/getLexicalContentText.d.ts +1 -0
- package/migrations/5.35.0/006/utils/getLexicalContentText.js +29 -0
- package/migrations/5.35.0/006/utils/getLexicalContentText.js.map +1 -0
- package/migrations/5.35.0/006/utils/getSearchableContent.d.ts +6 -0
- package/migrations/5.35.0/006/utils/getSearchableContent.js +45 -0
- package/migrations/5.35.0/006/utils/getSearchableContent.js.map +1 -0
- package/migrations/5.35.0/006/utils/processors/button.d.ts +1 -0
- package/migrations/5.35.0/006/utils/processors/button.js +17 -0
- package/migrations/5.35.0/006/utils/processors/button.js.map +1 -0
- package/migrations/5.35.0/006/utils/processors/image.d.ts +1 -0
- package/migrations/5.35.0/006/utils/processors/image.js +17 -0
- package/migrations/5.35.0/006/utils/processors/image.js.map +1 -0
- package/migrations/5.35.0/006/utils/processors/images.d.ts +1 -0
- package/migrations/5.35.0/006/utils/processors/images.js +18 -0
- package/migrations/5.35.0/006/utils/processors/images.js.map +1 -0
- package/migrations/5.35.0/006/utils/processors/index.d.ts +1 -0
- package/migrations/5.35.0/006/utils/processors/index.js +14 -0
- package/migrations/5.35.0/006/utils/processors/index.js.map +1 -0
- package/migrations/5.35.0/006/utils/processors/paragraph.d.ts +1 -0
- package/migrations/5.35.0/006/utils/processors/paragraph.js +25 -0
- package/migrations/5.35.0/006/utils/processors/paragraph.js.map +1 -0
- package/migrations/5.36.0/001/constants.d.ts +3 -0
- package/migrations/5.36.0/001/constants.js +14 -0
- package/migrations/5.36.0/001/constants.js.map +1 -0
- package/migrations/5.36.0/001/ddb/FileDataMigration.d.ts +17 -0
- package/migrations/5.36.0/001/ddb/FileDataMigration.js +241 -0
- package/migrations/5.36.0/001/ddb/FileDataMigration.js.map +1 -0
- package/migrations/5.36.0/001/ddb/index.d.ts +10 -0
- package/migrations/5.36.0/001/ddb/index.js +49 -0
- package/migrations/5.36.0/001/ddb/index.js.map +1 -0
- package/migrations/5.36.0/001/ddb-es/FileDataMigration.d.ts +20 -0
- package/migrations/5.36.0/001/ddb-es/FileDataMigration.js +405 -0
- package/migrations/5.36.0/001/ddb-es/FileDataMigration.js.map +1 -0
- package/migrations/5.36.0/001/ddb-es/index.d.ts +12 -0
- package/migrations/5.36.0/001/ddb-es/index.js +64 -0
- package/migrations/5.36.0/001/ddb-es/index.js.map +1 -0
- package/migrations/5.36.0/001/entities/createEntryEntity.d.ts +89 -0
- package/migrations/5.36.0/001/entities/createEntryEntity.js +106 -0
- package/migrations/5.36.0/001/entities/createEntryEntity.js.map +1 -0
- package/migrations/5.36.0/001/entities/createFileEntity.d.ts +95 -0
- package/migrations/5.36.0/001/entities/createFileEntity.js +33 -0
- package/migrations/5.36.0/001/entities/createFileEntity.js.map +1 -0
- package/migrations/5.36.0/001/entities/createLocaleEntity.d.ts +42 -0
- package/migrations/5.36.0/001/entities/createLocaleEntity.js +32 -0
- package/migrations/5.36.0/001/entities/createLocaleEntity.js.map +1 -0
- package/migrations/5.36.0/001/entities/createTenantEntity.d.ts +48 -0
- package/migrations/5.36.0/001/entities/createTenantEntity.js +13 -0
- package/migrations/5.36.0/001/entities/createTenantEntity.js.map +1 -0
- package/migrations/5.36.0/001/types.d.ts +67 -0
- package/migrations/5.36.0/001/types.js +7 -0
- package/migrations/5.36.0/001/types.js.map +1 -0
- package/migrations/5.36.0/001/utils/createMimeTag.d.ts +1 -0
- package/migrations/5.36.0/001/utils/createMimeTag.js +10 -0
- package/migrations/5.36.0/001/utils/createMimeTag.js.map +1 -0
- package/migrations/5.36.0/001/utils/getCompressedData.d.ts +4 -0
- package/migrations/5.36.0/001/utils/getCompressedData.js +19 -0
- package/migrations/5.36.0/001/utils/getCompressedData.js.map +1 -0
- package/migrations/5.37.0/001/TenantLinkDataMigration.d.ts +14 -0
- package/migrations/5.37.0/001/TenantLinkDataMigration.js +106 -0
- package/migrations/5.37.0/001/TenantLinkDataMigration.js.map +1 -0
- package/migrations/5.37.0/001/entities/createTenantEntity.d.ts +48 -0
- package/migrations/5.37.0/001/entities/createTenantEntity.js +13 -0
- package/migrations/5.37.0/001/entities/createTenantEntity.js.map +1 -0
- package/migrations/5.37.0/001/entities/createTenantLinkEntity.d.ts +48 -0
- package/migrations/5.37.0/001/entities/createTenantLinkEntity.js +17 -0
- package/migrations/5.37.0/001/entities/createTenantLinkEntity.js.map +1 -0
- package/migrations/5.37.0/001/index.d.ts +10 -0
- package/migrations/5.37.0/001/index.js +49 -0
- package/migrations/5.37.0/001/index.js.map +1 -0
- package/migrations/5.37.0/001/types.d.ts +25 -0
- package/migrations/5.37.0/001/types.js +7 -0
- package/migrations/5.37.0/001/types.js.map +1 -0
- package/migrations/5.37.0/001/utils/isMigratedTenantLink.d.ts +2 -0
- package/migrations/5.37.0/001/utils/isMigratedTenantLink.js +12 -0
- package/migrations/5.37.0/001/utils/isMigratedTenantLink.js.map +1 -0
- package/migrations/5.37.0/002/constants.d.ts +1 -0
- package/migrations/5.37.0/002/constants.js +10 -0
- package/migrations/5.37.0/002/constants.js.map +1 -0
- package/migrations/5.37.0/002/ddb/index.d.ts +22 -0
- package/migrations/5.37.0/002/ddb/index.js +133 -0
- package/migrations/5.37.0/002/ddb/index.js.map +1 -0
- package/migrations/5.37.0/002/ddb-es/index.d.ts +35 -0
- package/migrations/5.37.0/002/ddb-es/index.js +321 -0
- package/migrations/5.37.0/002/ddb-es/index.js.map +1 -0
- package/migrations/5.37.0/002/entities/createEntryEntity.d.ts +89 -0
- package/migrations/5.37.0/002/entities/createEntryEntity.js +109 -0
- package/migrations/5.37.0/002/entities/createEntryEntity.js.map +1 -0
- package/migrations/5.37.0/002/entities/createLocaleEntity.d.ts +42 -0
- package/migrations/5.37.0/002/entities/createLocaleEntity.js +32 -0
- package/migrations/5.37.0/002/entities/createLocaleEntity.js.map +1 -0
- package/migrations/5.37.0/002/entities/createTenantEntity.d.ts +48 -0
- package/migrations/5.37.0/002/entities/createTenantEntity.js +13 -0
- package/migrations/5.37.0/002/entities/createTenantEntity.js.map +1 -0
- package/migrations/5.37.0/002/types.d.ts +53 -0
- package/migrations/5.37.0/002/types.js +7 -0
- package/migrations/5.37.0/002/types.js.map +1 -0
- package/migrations/5.37.0/002/utils/getCompressedData.d.ts +4 -0
- package/migrations/5.37.0/002/utils/getCompressedData.js +19 -0
- package/migrations/5.37.0/002/utils/getCompressedData.js.map +1 -0
- package/migrations/5.37.0/002/utils/getDecompressedData.d.ts +1 -0
- package/migrations/5.37.0/002/utils/getDecompressedData.js +31 -0
- package/migrations/5.37.0/002/utils/getDecompressedData.js.map +1 -0
- package/migrations/5.37.0/003/constants.d.ts +3 -0
- package/migrations/5.37.0/003/constants.js +14 -0
- package/migrations/5.37.0/003/constants.js.map +1 -0
- package/migrations/5.37.0/003/ddb/AcoFolderMigration.d.ts +15 -0
- package/migrations/5.37.0/003/ddb/AcoFolderMigration.js +179 -0
- package/migrations/5.37.0/003/ddb/AcoFolderMigration.js.map +1 -0
- package/migrations/5.37.0/003/ddb/index.d.ts +10 -0
- package/migrations/5.37.0/003/ddb/index.js +49 -0
- package/migrations/5.37.0/003/ddb/index.js.map +1 -0
- package/migrations/5.37.0/003/ddb-es/AcoFolderMigration.d.ts +20 -0
- package/migrations/5.37.0/003/ddb-es/AcoFolderMigration.js +313 -0
- package/migrations/5.37.0/003/ddb-es/AcoFolderMigration.js.map +1 -0
- package/migrations/5.37.0/003/ddb-es/index.d.ts +12 -0
- package/migrations/5.37.0/003/ddb-es/index.js +64 -0
- package/migrations/5.37.0/003/ddb-es/index.js.map +1 -0
- package/migrations/5.37.0/003/ddb-es/latestElasticsearchData.d.ts +4 -0
- package/migrations/5.37.0/003/ddb-es/latestElasticsearchData.js +30 -0
- package/migrations/5.37.0/003/ddb-es/latestElasticsearchData.js.map +1 -0
- package/migrations/5.37.0/003/entities/createEntryEntity.d.ts +89 -0
- package/migrations/5.37.0/003/entities/createEntryEntity.js +109 -0
- package/migrations/5.37.0/003/entities/createEntryEntity.js.map +1 -0
- package/migrations/5.37.0/003/entities/createLocaleEntity.d.ts +42 -0
- package/migrations/5.37.0/003/entities/createLocaleEntity.js +32 -0
- package/migrations/5.37.0/003/entities/createLocaleEntity.js.map +1 -0
- package/migrations/5.37.0/003/entities/createTenantEntity.d.ts +48 -0
- package/migrations/5.37.0/003/entities/createTenantEntity.js +13 -0
- package/migrations/5.37.0/003/entities/createTenantEntity.js.map +1 -0
- package/migrations/5.37.0/003/types.d.ts +46 -0
- package/migrations/5.37.0/003/types.js +7 -0
- package/migrations/5.37.0/003/types.js.map +1 -0
- package/migrations/5.37.0/003/utils/getCompressedData.d.ts +4 -0
- package/migrations/5.37.0/003/utils/getCompressedData.js +19 -0
- package/migrations/5.37.0/003/utils/getCompressedData.js.map +1 -0
- package/migrations/5.37.0/003/utils/getDecompressedData.d.ts +1 -0
- package/migrations/5.37.0/003/utils/getDecompressedData.js +31 -0
- package/migrations/5.37.0/003/utils/getDecompressedData.js.map +1 -0
- package/migrations/5.37.0/004/constants.d.ts +7 -0
- package/migrations/5.37.0/004/constants.js +22 -0
- package/migrations/5.37.0/004/constants.js.map +1 -0
- package/migrations/5.37.0/004/ddb/PageDataMigration.d.ts +17 -0
- package/migrations/5.37.0/004/ddb/PageDataMigration.js +269 -0
- package/migrations/5.37.0/004/ddb/PageDataMigration.js.map +1 -0
- package/migrations/5.37.0/004/ddb/index.d.ts +10 -0
- package/migrations/5.37.0/004/ddb/index.js +49 -0
- package/migrations/5.37.0/004/ddb/index.js.map +1 -0
- package/migrations/5.37.0/004/ddb-es/PageDataMigration.d.ts +22 -0
- package/migrations/5.37.0/004/ddb-es/PageDataMigration.js +364 -0
- package/migrations/5.37.0/004/ddb-es/PageDataMigration.js.map +1 -0
- package/migrations/5.37.0/004/ddb-es/index.d.ts +12 -0
- package/migrations/5.37.0/004/ddb-es/index.js +64 -0
- package/migrations/5.37.0/004/ddb-es/index.js.map +1 -0
- package/migrations/5.37.0/004/entities/createEntryEntity.d.ts +89 -0
- package/migrations/5.37.0/004/entities/createEntryEntity.js +109 -0
- package/migrations/5.37.0/004/entities/createEntryEntity.js.map +1 -0
- package/migrations/5.37.0/004/entities/createLocaleEntity.d.ts +42 -0
- package/migrations/5.37.0/004/entities/createLocaleEntity.js +32 -0
- package/migrations/5.37.0/004/entities/createLocaleEntity.js.map +1 -0
- package/migrations/5.37.0/004/entities/createPageEntity.d.ts +89 -0
- package/migrations/5.37.0/004/entities/createPageEntity.js +113 -0
- package/migrations/5.37.0/004/entities/createPageEntity.js.map +1 -0
- package/migrations/5.37.0/004/entities/createTenantEntity.d.ts +48 -0
- package/migrations/5.37.0/004/entities/createTenantEntity.js +13 -0
- package/migrations/5.37.0/004/entities/createTenantEntity.js.map +1 -0
- package/migrations/5.37.0/004/types.d.ts +149 -0
- package/migrations/5.37.0/004/types.js +7 -0
- package/migrations/5.37.0/004/types.js.map +1 -0
- package/migrations/5.37.0/004/utils/getCompressedData.d.ts +4 -0
- package/migrations/5.37.0/004/utils/getCompressedData.js +19 -0
- package/migrations/5.37.0/004/utils/getCompressedData.js.map +1 -0
- package/migrations/5.37.0/005/constants.d.ts +3 -0
- package/migrations/5.37.0/005/constants.js +14 -0
- package/migrations/5.37.0/005/constants.js.map +1 -0
- package/migrations/5.37.0/005/ddb/index.d.ts +20 -0
- package/migrations/5.37.0/005/ddb/index.js +245 -0
- package/migrations/5.37.0/005/ddb/index.js.map +1 -0
- package/migrations/5.37.0/005/ddb-es/index.d.ts +22 -0
- package/migrations/5.37.0/005/ddb-es/index.js +382 -0
- package/migrations/5.37.0/005/ddb-es/index.js.map +1 -0
- package/migrations/5.37.0/005/entities/createEntryEntity.d.ts +89 -0
- package/migrations/5.37.0/005/entities/createEntryEntity.js +109 -0
- package/migrations/5.37.0/005/entities/createEntryEntity.js.map +1 -0
- package/migrations/5.37.0/005/entities/createFileEntity.d.ts +95 -0
- package/migrations/5.37.0/005/entities/createFileEntity.js +33 -0
- package/migrations/5.37.0/005/entities/createFileEntity.js.map +1 -0
- package/migrations/5.37.0/005/entities/createLocaleEntity.d.ts +42 -0
- package/migrations/5.37.0/005/entities/createLocaleEntity.js +32 -0
- package/migrations/5.37.0/005/entities/createLocaleEntity.js.map +1 -0
- package/migrations/5.37.0/005/entities/createTenantEntity.d.ts +48 -0
- package/migrations/5.37.0/005/entities/createTenantEntity.js +13 -0
- package/migrations/5.37.0/005/entities/createTenantEntity.js.map +1 -0
- package/migrations/5.37.0/005/entities/createTenantLinkEntity.d.ts +48 -0
- package/migrations/5.37.0/005/entities/createTenantLinkEntity.js +17 -0
- package/migrations/5.37.0/005/entities/createTenantLinkEntity.js.map +1 -0
- package/migrations/5.37.0/005/types.d.ts +109 -0
- package/migrations/5.37.0/005/types.js +7 -0
- package/migrations/5.37.0/005/types.js.map +1 -0
- package/migrations/5.38.0/001/ddb/index.d.ts +11 -0
- package/migrations/5.38.0/001/ddb/index.js +116 -0
- package/migrations/5.38.0/001/ddb/index.js.map +1 -0
- package/migrations/5.38.0/001/ddb-es/index.d.ts +13 -0
- package/migrations/5.38.0/001/ddb-es/index.js +211 -0
- package/migrations/5.38.0/001/ddb-es/index.js.map +1 -0
- package/migrations/5.38.0/001/entities/createFormEntity.d.ts +42 -0
- package/migrations/5.38.0/001/entities/createFormEntity.js +92 -0
- package/migrations/5.38.0/001/entities/createFormEntity.js.map +1 -0
- package/migrations/5.38.0/001/types.d.ts +11 -0
- package/migrations/5.38.0/001/types.js +7 -0
- package/migrations/5.38.0/001/types.js.map +1 -0
- package/migrations/5.38.0/002/ddb/index.d.ts +22 -0
- package/migrations/5.38.0/002/ddb/index.js +140 -0
- package/migrations/5.38.0/002/ddb/index.js.map +1 -0
- package/migrations/5.38.0/002/ddb-es/index.d.ts +32 -0
- package/migrations/5.38.0/002/ddb-es/index.js +250 -0
- package/migrations/5.38.0/002/ddb-es/index.js.map +1 -0
- package/migrations/5.38.0/002/entities/createFormEntity.d.ts +42 -0
- package/migrations/5.38.0/002/entities/createFormEntity.js +92 -0
- package/migrations/5.38.0/002/entities/createFormEntity.js.map +1 -0
- package/migrations/5.38.0/002/entities/createFormSubmissionDdbEsEntity.d.ts +48 -0
- package/migrations/5.38.0/002/entities/createFormSubmissionDdbEsEntity.js +29 -0
- package/migrations/5.38.0/002/entities/createFormSubmissionDdbEsEntity.js.map +1 -0
- package/migrations/5.38.0/002/entities/createFormSubmissionEntity.d.ts +42 -0
- package/migrations/5.38.0/002/entities/createFormSubmissionEntity.js +56 -0
- package/migrations/5.38.0/002/entities/createFormSubmissionEntity.js.map +1 -0
- package/migrations/5.38.0/002/types.d.ts +23 -0
- package/migrations/5.38.0/002/types.js +7 -0
- package/migrations/5.38.0/002/types.js.map +1 -0
- package/migrations/5.38.0/003/ddb/compressContent.d.ts +4 -0
- package/migrations/5.38.0/003/ddb/compressContent.js +17 -0
- package/migrations/5.38.0/003/ddb/compressContent.js.map +1 -0
- package/migrations/5.38.0/003/ddb/index.d.ts +12 -0
- package/migrations/5.38.0/003/ddb/index.js +143 -0
- package/migrations/5.38.0/003/ddb/index.js.map +1 -0
- package/migrations/5.38.0/003/entities/createPageBlockEntity.d.ts +83 -0
- package/migrations/5.38.0/003/entities/createPageBlockEntity.js +68 -0
- package/migrations/5.38.0/003/entities/createPageBlockEntity.js.map +1 -0
- package/migrations/5.38.0/003/types.d.ts +8 -0
- package/migrations/5.38.0/003/types.js +7 -0
- package/migrations/5.38.0/003/types.js.map +1 -0
- package/migrations/5.39.0/001/ddb/index.d.ts +20 -0
- package/migrations/5.39.0/001/ddb/index.js +136 -0
- package/migrations/5.39.0/001/ddb/index.js.map +1 -0
- package/migrations/5.39.0/001/ddb-es/index.d.ts +30 -0
- package/migrations/5.39.0/001/ddb-es/index.js +266 -0
- package/migrations/5.39.0/001/ddb-es/index.js.map +1 -0
- package/migrations/5.39.0/001/entities/createEntryEntity.d.ts +89 -0
- package/migrations/5.39.0/001/entities/createEntryEntity.js +164 -0
- package/migrations/5.39.0/001/entities/createEntryEntity.js.map +1 -0
- package/migrations/5.39.0/001/types.d.ts +136 -0
- package/migrations/5.39.0/001/types.js +7 -0
- package/migrations/5.39.0/001/types.js.map +1 -0
- package/migrations/5.39.0/001/utils/assignNewMetaFields.d.ts +11 -0
- package/migrations/5.39.0/001/utils/assignNewMetaFields.js +44 -0
- package/migrations/5.39.0/001/utils/assignNewMetaFields.js.map +1 -0
- package/migrations/5.39.0/001/utils/ensureAllNonNullableValues.d.ts +8 -0
- package/migrations/5.39.0/001/utils/ensureAllNonNullableValues.js +38 -0
- package/migrations/5.39.0/001/utils/ensureAllNonNullableValues.js.map +1 -0
- package/migrations/5.39.0/001/utils/fixTypeFieldValue.d.ts +3 -0
- package/migrations/5.39.0/001/utils/fixTypeFieldValue.js +33 -0
- package/migrations/5.39.0/001/utils/fixTypeFieldValue.js.map +1 -0
- package/migrations/5.39.0/001/utils/getCompressedData.d.ts +4 -0
- package/migrations/5.39.0/001/utils/getCompressedData.js +19 -0
- package/migrations/5.39.0/001/utils/getCompressedData.js.map +1 -0
- package/migrations/5.39.0/001/utils/getDecompressedData.d.ts +1 -0
- package/migrations/5.39.0/001/utils/getDecompressedData.js +31 -0
- package/migrations/5.39.0/001/utils/getDecompressedData.js.map +1 -0
- package/migrations/5.39.0/001/utils/getFallbackIdentity.d.ts +8 -0
- package/migrations/5.39.0/001/utils/getFallbackIdentity.js +44 -0
- package/migrations/5.39.0/001/utils/getFallbackIdentity.js.map +1 -0
- package/migrations/5.39.0/001/utils/getFirstLastPublishedOn.d.ts +11 -0
- package/migrations/5.39.0/001/utils/getFirstLastPublishedOn.js +40 -0
- package/migrations/5.39.0/001/utils/getFirstLastPublishedOn.js.map +1 -0
- package/migrations/5.39.0/001/utils/getNonNullableFieldsWithMissingValues.d.ts +2 -0
- package/migrations/5.39.0/001/utils/getNonNullableFieldsWithMissingValues.js +22 -0
- package/migrations/5.39.0/001/utils/getNonNullableFieldsWithMissingValues.js.map +1 -0
- package/migrations/5.39.0/001/utils/getOldestRevisionCreatedOn.d.ts +11 -0
- package/migrations/5.39.0/001/utils/getOldestRevisionCreatedOn.js +33 -0
- package/migrations/5.39.0/001/utils/getOldestRevisionCreatedOn.js.map +1 -0
- package/migrations/5.39.0/001/utils/hasAllNonNullableValues.d.ts +2 -0
- package/migrations/5.39.0/001/utils/hasAllNonNullableValues.js +21 -0
- package/migrations/5.39.0/001/utils/hasAllNonNullableValues.js.map +1 -0
- package/migrations/5.39.0/001/utils/hasValidTypeFieldValue.d.ts +4 -0
- package/migrations/5.39.0/001/utils/hasValidTypeFieldValue.js +21 -0
- package/migrations/5.39.0/001/utils/hasValidTypeFieldValue.js.map +1 -0
- package/migrations/5.39.0/001/utils/isMigratedEntry.d.ts +2 -0
- package/migrations/5.39.0/001/utils/isMigratedEntry.js +12 -0
- package/migrations/5.39.0/001/utils/isMigratedEntry.js.map +1 -0
- package/migrations/5.39.0/002/ddb/FileManager_5_39_0_002.d.ts +14 -0
- package/migrations/5.39.0/002/ddb/FileManager_5_39_0_002.js +133 -0
- package/migrations/5.39.0/002/ddb/FileManager_5_39_0_002.js.map +1 -0
- package/migrations/5.39.0/002/ddb/index.d.ts +1 -0
- package/migrations/5.39.0/002/ddb/index.js +18 -0
- package/migrations/5.39.0/002/ddb/index.js.map +1 -0
- package/migrations/5.39.0/002/ddb-es/FileManager_5_39_0_002.d.ts +15 -0
- package/migrations/5.39.0/002/ddb-es/FileManager_5_39_0_002.js +190 -0
- package/migrations/5.39.0/002/ddb-es/FileManager_5_39_0_002.js.map +1 -0
- package/migrations/5.39.0/002/ddb-es/index.d.ts +1 -0
- package/migrations/5.39.0/002/ddb-es/index.js +18 -0
- package/migrations/5.39.0/002/ddb-es/index.js.map +1 -0
- package/migrations/5.39.0/002/utils/FileMetadata.d.ts +12 -0
- package/migrations/5.39.0/002/utils/FileMetadata.js +55 -0
- package/migrations/5.39.0/002/utils/FileMetadata.js.map +1 -0
- package/migrations/5.39.0/002/utils/createFileEntity.d.ts +53 -0
- package/migrations/5.39.0/002/utils/createFileEntity.js +50 -0
- package/migrations/5.39.0/002/utils/createFileEntity.js.map +1 -0
- package/migrations/5.39.0/002/utils/createLocaleEntity.d.ts +42 -0
- package/migrations/5.39.0/002/utils/createLocaleEntity.js +32 -0
- package/migrations/5.39.0/002/utils/createLocaleEntity.js.map +1 -0
- package/migrations/5.39.0/002/utils/createTenantEntity.d.ts +48 -0
- package/migrations/5.39.0/002/utils/createTenantEntity.js +13 -0
- package/migrations/5.39.0/002/utils/createTenantEntity.js.map +1 -0
- package/migrations/5.39.2/001/ddb-es/index.d.ts +30 -0
- package/migrations/5.39.2/001/ddb-es/index.js +276 -0
- package/migrations/5.39.2/001/ddb-es/index.js.map +1 -0
- package/migrations/5.39.6/001/ddb-es/MetaFieldsMigration.d.ts +21 -0
- package/migrations/5.39.6/001/ddb-es/MetaFieldsMigration.js +167 -0
- package/migrations/5.39.6/001/ddb-es/MetaFieldsMigration.js.map +1 -0
- package/migrations/5.39.6/001/ddb-es/SegmentProcessor.d.ts +23 -0
- package/migrations/5.39.6/001/ddb-es/SegmentProcessor.js +31 -0
- package/migrations/5.39.6/001/ddb-es/SegmentProcessor.js.map +1 -0
- package/migrations/5.39.6/001/ddb-es/bin.d.ts +2 -0
- package/migrations/5.39.6/001/ddb-es/bin.js +83 -0
- package/migrations/5.39.6/001/ddb-es/bin.js.map +1 -0
- package/migrations/5.39.6/001/ddb-es/createMetaFieldsDataMigrationDeploymentHook.d.ts +11 -0
- package/migrations/5.39.6/001/ddb-es/createMetaFieldsDataMigrationDeploymentHook.js +83 -0
- package/migrations/5.39.6/001/ddb-es/createMetaFieldsDataMigrationDeploymentHook.js.map +1 -0
- package/migrations/5.39.6/001/ddb-es/index.d.ts +30 -0
- package/migrations/5.39.6/001/ddb-es/index.js +329 -0
- package/migrations/5.39.6/001/ddb-es/index.js.map +1 -0
- package/migrations/5.39.6/001/ddb-es/utils.d.ts +28 -0
- package/migrations/5.39.6/001/ddb-es/utils.js +62 -0
- package/migrations/5.39.6/001/ddb-es/utils.js.map +1 -0
- package/migrations/5.39.6/001/ddb-es/worker.d.ts +1 -0
- package/migrations/5.39.6/001/ddb-es/worker.js +352 -0
- package/migrations/5.39.6/001/ddb-es/worker.js.map +1 -0
- package/package.json +45 -0
- package/utils/createEntity.d.ts +89 -0
- package/utils/createEntity.js +67 -0
- package/utils/createEntity.js.map +1 -0
- package/utils/createLocaleEntity.d.ts +42 -0
- package/utils/createLocaleEntity.js +32 -0
- package/utils/createLocaleEntity.js.map +1 -0
- package/utils/createTenantEntity.d.ts +48 -0
- package/utils/createTenantEntity.js +13 -0
- package/utils/createTenantEntity.js.map +1 -0
- package/utils/dynamoDb.d.ts +3 -0
- package/utils/dynamoDb.js +62 -0
- package/utils/dynamoDb.js.map +1 -0
- package/utils/elasticsearch/disableEsIndexing.d.ts +9 -0
- package/utils/elasticsearch/disableEsIndexing.js +34 -0
- package/utils/elasticsearch/disableEsIndexing.js.map +1 -0
- package/utils/elasticsearch/esCreateIndex.d.ts +9 -0
- package/utils/elasticsearch/esCreateIndex.js +62 -0
- package/utils/elasticsearch/esCreateIndex.js.map +1 -0
- package/utils/elasticsearch/esFindOne.d.ts +8 -0
- package/utils/elasticsearch/esFindOne.js +27 -0
- package/utils/elasticsearch/esFindOne.js.map +1 -0
- package/utils/elasticsearch/esGetIndexExist.d.ts +9 -0
- package/utils/elasticsearch/esGetIndexExist.js +37 -0
- package/utils/elasticsearch/esGetIndexExist.js.map +1 -0
- package/utils/elasticsearch/esGetIndexName.d.ts +7 -0
- package/utils/elasticsearch/esGetIndexName.js +40 -0
- package/utils/elasticsearch/esGetIndexName.js.map +1 -0
- package/utils/elasticsearch/esGetIndexSettings.d.ts +7 -0
- package/utils/elasticsearch/esGetIndexSettings.js +32 -0
- package/utils/elasticsearch/esGetIndexSettings.js.map +1 -0
- package/utils/elasticsearch/esListIndexes.d.ts +6 -0
- package/utils/elasticsearch/esListIndexes.js +23 -0
- package/utils/elasticsearch/esListIndexes.js.map +1 -0
- package/utils/elasticsearch/esPutIndexSettings.d.ts +7 -0
- package/utils/elasticsearch/esPutIndexSettings.js +30 -0
- package/utils/elasticsearch/esPutIndexSettings.js.map +1 -0
- package/utils/elasticsearch/esQueryAll.d.ts +8 -0
- package/utils/elasticsearch/esQueryAll.js +26 -0
- package/utils/elasticsearch/esQueryAll.js.map +1 -0
- package/utils/elasticsearch/esQueryAllWithCallback.d.ts +10 -0
- package/utils/elasticsearch/esQueryAllWithCallback.js +45 -0
- package/utils/elasticsearch/esQueryAllWithCallback.js.map +1 -0
- package/utils/elasticsearch/fetchOriginalEsSettings.d.ts +13 -0
- package/utils/elasticsearch/fetchOriginalEsSettings.js +36 -0
- package/utils/elasticsearch/fetchOriginalEsSettings.js.map +1 -0
- package/utils/elasticsearch/index.d.ts +12 -0
- package/utils/elasticsearch/index.js +139 -0
- package/utils/elasticsearch/index.js.map +1 -0
- package/utils/elasticsearch/plugins/base.d.ts +3 -0
- package/utils/elasticsearch/plugins/base.js +13 -0
- package/utils/elasticsearch/plugins/base.js.map +1 -0
- package/utils/elasticsearch/plugins/index.d.ts +6 -0
- package/utils/elasticsearch/plugins/index.js +14 -0
- package/utils/elasticsearch/plugins/index.js.map +1 -0
- package/utils/elasticsearch/plugins/japanese.d.ts +4 -0
- package/utils/elasticsearch/plugins/japanese.js +14 -0
- package/utils/elasticsearch/plugins/japanese.js.map +1 -0
- package/utils/elasticsearch/restoreOriginalEsSettings.d.ts +15 -0
- package/utils/elasticsearch/restoreOriginalEsSettings.js +44 -0
- package/utils/elasticsearch/restoreOriginalEsSettings.js.map +1 -0
- package/utils/forEachTenantLocale.d.ts +13 -0
- package/utils/forEachTenantLocale.js +55 -0
- package/utils/forEachTenantLocale.js.map +1 -0
- package/utils/index.d.ts +6 -0
- package/utils/index.js +73 -0
- package/utils/index.js.map +1 -0
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _utils = require("@webiny/utils");
|
|
5
|
+
var _logger = require("@webiny/logger");
|
|
6
|
+
var _dataMigration = require("@webiny/data-migration");
|
|
7
|
+
var _clientDynamodb = require("@webiny/aws-sdk/client-dynamodb");
|
|
8
|
+
var _apiElasticsearch = require("@webiny/api-elasticsearch");
|
|
9
|
+
var _yargs = _interopRequireDefault(require("yargs/yargs"));
|
|
10
|
+
var _helpers = require("yargs/helpers");
|
|
11
|
+
var _isMigratedEntry = require("../../../5.39.0/001/utils/isMigratedEntry");
|
|
12
|
+
var _hasValidTypeFieldValue = require("../../../5.39.0/001/utils/hasValidTypeFieldValue");
|
|
13
|
+
var _hasAllNonNullableValues = require("../../../5.39.0/001/utils/hasAllNonNullableValues");
|
|
14
|
+
var _getOldestRevisionCreatedOn = require("../../../5.39.0/001/utils/getOldestRevisionCreatedOn");
|
|
15
|
+
var _getFirstLastPublishedOn = require("../../../5.39.0/001/utils/getFirstLastPublishedOn");
|
|
16
|
+
var _assignNewMetaFields = require("../../../5.39.0/001/utils/assignNewMetaFields");
|
|
17
|
+
var _fixTypeFieldValue = require("../../../5.39.0/001/utils/fixTypeFieldValue");
|
|
18
|
+
var _getFallbackIdentity = require("../../../5.39.0/001/utils/getFallbackIdentity");
|
|
19
|
+
var _ensureAllNonNullableValues = require("../../../5.39.0/001/utils/ensureAllNonNullableValues");
|
|
20
|
+
var _getDecompressedData = require("../../../5.39.0/001/utils/getDecompressedData");
|
|
21
|
+
var _getCompressedData = require("../../../5.39.0/001/utils/getCompressedData");
|
|
22
|
+
var _createEntryEntity = require("../../../5.39.0/001/entities/createEntryEntity");
|
|
23
|
+
var _utils2 = require("../../../../utils");
|
|
24
|
+
var _waitUntilHealthy = require("@webiny/api-elasticsearch/utils/waitUntilHealthy");
|
|
25
|
+
var _pinoPretty = _interopRequireDefault(require("pino-pretty"));
|
|
26
|
+
var _path = _interopRequireDefault(require("path"));
|
|
27
|
+
var _os = _interopRequireDefault(require("os"));
|
|
28
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
29
|
+
var _getNonNullableFieldsWithMissingValues = require("../../../5.39.0/001/utils/getNonNullableFieldsWithMissingValues");
|
|
30
|
+
const argv = (0, _yargs.default)((0, _helpers.hideBin)(process.argv)).options({
|
|
31
|
+
runId: {
|
|
32
|
+
type: "string",
|
|
33
|
+
demandOption: true
|
|
34
|
+
},
|
|
35
|
+
ddbTable: {
|
|
36
|
+
type: "string",
|
|
37
|
+
demandOption: true
|
|
38
|
+
},
|
|
39
|
+
ddbEsTable: {
|
|
40
|
+
type: "string",
|
|
41
|
+
demandOption: true
|
|
42
|
+
},
|
|
43
|
+
esEndpoint: {
|
|
44
|
+
type: "string",
|
|
45
|
+
demandOption: true
|
|
46
|
+
},
|
|
47
|
+
segmentIndex: {
|
|
48
|
+
type: "number",
|
|
49
|
+
demandOption: true
|
|
50
|
+
},
|
|
51
|
+
totalSegments: {
|
|
52
|
+
type: "number",
|
|
53
|
+
demandOption: true
|
|
54
|
+
},
|
|
55
|
+
// Elasticsearch health check options.
|
|
56
|
+
esHealthMinClusterHealthStatus: {
|
|
57
|
+
type: "string",
|
|
58
|
+
demandOption: true
|
|
59
|
+
},
|
|
60
|
+
esHealthMaxProcessorPercent: {
|
|
61
|
+
type: "number",
|
|
62
|
+
demandOption: true
|
|
63
|
+
},
|
|
64
|
+
esHealthMaxRamPercent: {
|
|
65
|
+
type: "number",
|
|
66
|
+
demandOption: true
|
|
67
|
+
},
|
|
68
|
+
esHealthMaxWaitingTime: {
|
|
69
|
+
type: "number",
|
|
70
|
+
demandOption: true
|
|
71
|
+
},
|
|
72
|
+
esHealthWaitingTimeStep: {
|
|
73
|
+
type: "number",
|
|
74
|
+
demandOption: true
|
|
75
|
+
}
|
|
76
|
+
}).parseSync();
|
|
77
|
+
const createInitialStatus = () => {
|
|
78
|
+
return {
|
|
79
|
+
lastEvaluatedKey: null,
|
|
80
|
+
stats: {
|
|
81
|
+
iterationsCount: 0,
|
|
82
|
+
recordsScanned: 0,
|
|
83
|
+
recordsUpdated: 0,
|
|
84
|
+
recordsSkipped: 0,
|
|
85
|
+
esHealthChecks: {
|
|
86
|
+
timeSpentWaiting: 0,
|
|
87
|
+
checksCount: 0,
|
|
88
|
+
unhealthyReasons: {}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
(async () => {
|
|
94
|
+
const logger = (0, _logger.createPinoLogger)({
|
|
95
|
+
level: (0, _logger.getLogLevel)(process.env.MIGRATIONS_LOG_LEVEL, "trace"),
|
|
96
|
+
msgPrefix: `[segment #${argv.segmentIndex}] `
|
|
97
|
+
}, (0, _pinoPretty.default)({
|
|
98
|
+
ignore: "pid,hostname"
|
|
99
|
+
}));
|
|
100
|
+
const documentClient = (0, _clientDynamodb.getDocumentClient)();
|
|
101
|
+
const elasticsearchClient = (0, _apiElasticsearch.createElasticsearchClient)({
|
|
102
|
+
endpoint: `https://${argv.esEndpoint}`
|
|
103
|
+
});
|
|
104
|
+
const primaryTable = (0, _dataMigration.createTable)({
|
|
105
|
+
name: argv.ddbTable,
|
|
106
|
+
documentClient
|
|
107
|
+
});
|
|
108
|
+
const dynamoToEsTable = (0, _dataMigration.createTable)({
|
|
109
|
+
name: argv.ddbEsTable,
|
|
110
|
+
documentClient
|
|
111
|
+
});
|
|
112
|
+
const ddbEntryEntity = (0, _createEntryEntity.createDdbEntryEntity)(primaryTable);
|
|
113
|
+
const ddbEsEntryEntity = (0, _createEntryEntity.createDdbEsEntryEntity)(dynamoToEsTable);
|
|
114
|
+
const status = createInitialStatus();
|
|
115
|
+
const waitUntilHealthy = (0, _waitUntilHealthy.createWaitUntilHealthy)(elasticsearchClient, {
|
|
116
|
+
minClusterHealthStatus: argv.esHealthMinClusterHealthStatus,
|
|
117
|
+
maxProcessorPercent: argv.esHealthMaxProcessorPercent,
|
|
118
|
+
maxRamPercent: argv.esHealthMaxRamPercent,
|
|
119
|
+
maxWaitingTime: argv.esHealthMaxWaitingTime,
|
|
120
|
+
waitingTimeStep: argv.esHealthWaitingTimeStep
|
|
121
|
+
});
|
|
122
|
+
await (0, _utils2.ddbScanWithCallback)({
|
|
123
|
+
entity: ddbEntryEntity,
|
|
124
|
+
options: {
|
|
125
|
+
segment: argv.segmentIndex,
|
|
126
|
+
segments: argv.totalSegments,
|
|
127
|
+
filters: [{
|
|
128
|
+
attr: "_et",
|
|
129
|
+
eq: "CmsEntries"
|
|
130
|
+
}],
|
|
131
|
+
startKey: status.lastEvaluatedKey || undefined,
|
|
132
|
+
limit: 100
|
|
133
|
+
}
|
|
134
|
+
}, async result => {
|
|
135
|
+
status.stats.iterationsCount++;
|
|
136
|
+
status.stats.recordsScanned += result.items.length;
|
|
137
|
+
if (status.stats.iterationsCount % 5 === 0) {
|
|
138
|
+
// We log every 5th iteration.
|
|
139
|
+
logger.trace(`[iteration #${status.stats.iterationsCount}] Reading ${result.items.length} record(s)...`);
|
|
140
|
+
}
|
|
141
|
+
const ddbItemsToBatchWrite = [];
|
|
142
|
+
const ddbEsItemsToBatchWrite = [];
|
|
143
|
+
const ddbEsItemsToBatchRead = {};
|
|
144
|
+
const fallbackDateTime = new Date().toISOString();
|
|
145
|
+
|
|
146
|
+
// Update records in primary DynamoDB table. Also do preparations for
|
|
147
|
+
// subsequent updates on DDB-ES DynamoDB table, and in Elasticsearch.
|
|
148
|
+
for (const item of result.items) {
|
|
149
|
+
const isFullyMigrated = (0, _isMigratedEntry.isMigratedEntry)(item) && (0, _hasValidTypeFieldValue.hasValidTypeFieldValue)(item) && (0, _hasAllNonNullableValues.hasAllNonNullableValues)(item);
|
|
150
|
+
if (isFullyMigrated) {
|
|
151
|
+
status.stats.recordsSkipped++;
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// 1. Check if the data migration was ever performed. If not, let's perform it.
|
|
156
|
+
if (!(0, _isMigratedEntry.isMigratedEntry)(item)) {
|
|
157
|
+
// Get the oldest revision's `createdOn` value. We use that to set the entry-level `createdOn` value.
|
|
158
|
+
const createdOn = await (0, _getOldestRevisionCreatedOn.getOldestRevisionCreatedOn)({
|
|
159
|
+
entry: item,
|
|
160
|
+
entryEntity: ddbEntryEntity
|
|
161
|
+
});
|
|
162
|
+
const firstLastPublishedOnByFields = await (0, _getFirstLastPublishedOn.getFirstLastPublishedOnBy)({
|
|
163
|
+
entry: item,
|
|
164
|
+
entryEntity: ddbEntryEntity
|
|
165
|
+
});
|
|
166
|
+
(0, _assignNewMetaFields.assignNewMetaFields)(item, {
|
|
167
|
+
createdOn,
|
|
168
|
+
...firstLastPublishedOnByFields
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// 2. We've noticed some of the records had an invalid `TYPE` field value
|
|
173
|
+
// in the database. This step addresses this issue.
|
|
174
|
+
if (!(0, _hasValidTypeFieldValue.hasValidTypeFieldValue)(item)) {
|
|
175
|
+
// Fixes the value of the `TYPE` field, if it's not valid.
|
|
176
|
+
(0, _fixTypeFieldValue.fixTypeFieldValue)(item);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// 3. Finally, once both of the steps were performed, ensure that all
|
|
180
|
+
// new non-nullable meta fields have a value and nothing is missing.
|
|
181
|
+
if (!(0, _hasAllNonNullableValues.hasAllNonNullableValues)(item)) {
|
|
182
|
+
logger.trace((0, _getNonNullableFieldsWithMissingValues.getNonNullableFieldsWithMissingValues)(item), `Detected an entry with missing values for non-nullable meta fields (${item.modelId}/${item.id}).`);
|
|
183
|
+
try {
|
|
184
|
+
const fallbackIdentity = await (0, _getFallbackIdentity.getFallbackIdentity)({
|
|
185
|
+
entity: ddbEntryEntity,
|
|
186
|
+
tenant: item.tenant
|
|
187
|
+
});
|
|
188
|
+
(0, _ensureAllNonNullableValues.ensureAllNonNullableValues)(item, {
|
|
189
|
+
dateTime: fallbackDateTime,
|
|
190
|
+
identity: fallbackIdentity
|
|
191
|
+
});
|
|
192
|
+
logger.trace(`Successfully ensured all non-nullable meta fields have values (${item.modelId}/${item.id}). Will be saving into the database soon.`);
|
|
193
|
+
} catch (e) {
|
|
194
|
+
logger.debug(`Failed to ensure all non-nullable meta fields have values (${item.modelId}/${item.id}): ${e.message}`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
ddbItemsToBatchWrite.push(ddbEntryEntity.putBatch(item));
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Prepare the loading of DynamoDB Elasticsearch part of the records.
|
|
201
|
+
*/
|
|
202
|
+
|
|
203
|
+
const ddbEsLatestRecordKey = `${item.entryId}:L`;
|
|
204
|
+
if (ddbEsItemsToBatchRead[ddbEsLatestRecordKey]) {
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
ddbEsItemsToBatchRead[ddbEsLatestRecordKey] = ddbEsEntryEntity.getBatch({
|
|
208
|
+
PK: item.PK,
|
|
209
|
+
SK: "L"
|
|
210
|
+
});
|
|
211
|
+
const ddbEsPublishedRecordKey = `${item.entryId}:P`;
|
|
212
|
+
if (item.status === "published" || !!item.locked) {
|
|
213
|
+
ddbEsItemsToBatchRead[ddbEsPublishedRecordKey] = ddbEsEntryEntity.getBatch({
|
|
214
|
+
PK: item.PK,
|
|
215
|
+
SK: "P"
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (Object.keys(ddbEsItemsToBatchRead).length > 0) {
|
|
220
|
+
/**
|
|
221
|
+
* Get all the records from DynamoDB Elasticsearch.
|
|
222
|
+
*/
|
|
223
|
+
const ddbEsRecords = await (0, _utils2.batchReadAll)({
|
|
224
|
+
table: ddbEsEntryEntity.table,
|
|
225
|
+
items: Object.values(ddbEsItemsToBatchRead)
|
|
226
|
+
});
|
|
227
|
+
for (const ddbEsRecord of ddbEsRecords) {
|
|
228
|
+
const decompressedData = await (0, _getDecompressedData.getDecompressedData)(ddbEsRecord.data);
|
|
229
|
+
if (!decompressedData) {
|
|
230
|
+
logger.trace(`[DDB-ES Table] Skipping record "${ddbEsRecord.PK}" as it is not a valid CMS entry...`);
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// 1. Check if the data migration was ever performed. If not, let's perform it.
|
|
235
|
+
if (!(0, _isMigratedEntry.isMigratedEntry)(decompressedData)) {
|
|
236
|
+
// Get the oldest revision's `createdOn` value. We use that to set the entry-level `createdOn` value.
|
|
237
|
+
const createdOn = await (0, _getOldestRevisionCreatedOn.getOldestRevisionCreatedOn)({
|
|
238
|
+
entry: {
|
|
239
|
+
...decompressedData,
|
|
240
|
+
PK: ddbEsRecord.PK
|
|
241
|
+
},
|
|
242
|
+
entryEntity: ddbEntryEntity
|
|
243
|
+
});
|
|
244
|
+
const firstLastPublishedOnByFields = await (0, _getFirstLastPublishedOn.getFirstLastPublishedOnBy)({
|
|
245
|
+
entry: {
|
|
246
|
+
...decompressedData,
|
|
247
|
+
PK: ddbEsRecord.PK
|
|
248
|
+
},
|
|
249
|
+
entryEntity: ddbEntryEntity
|
|
250
|
+
});
|
|
251
|
+
(0, _assignNewMetaFields.assignNewMetaFields)(decompressedData, {
|
|
252
|
+
createdOn,
|
|
253
|
+
...firstLastPublishedOnByFields
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// 2. Ensure new non-nullable meta fields have a value and nothing is missing.
|
|
258
|
+
if (!(0, _hasAllNonNullableValues.hasAllNonNullableValues)(decompressedData)) {
|
|
259
|
+
logger.trace((0, _getNonNullableFieldsWithMissingValues.getNonNullableFieldsWithMissingValues)(decompressedData), [`[DDB-ES Table] Detected an entry with missing values for non-nullable meta fields`, `(${decompressedData.modelId}/${decompressedData.id}).`].join(" "));
|
|
260
|
+
try {
|
|
261
|
+
const fallbackIdentity = await (0, _getFallbackIdentity.getFallbackIdentity)({
|
|
262
|
+
entity: ddbEntryEntity,
|
|
263
|
+
tenant: decompressedData.tenant
|
|
264
|
+
});
|
|
265
|
+
(0, _ensureAllNonNullableValues.ensureAllNonNullableValues)(decompressedData, {
|
|
266
|
+
dateTime: fallbackDateTime,
|
|
267
|
+
identity: fallbackIdentity
|
|
268
|
+
});
|
|
269
|
+
logger.trace([`[DDB-ES Table] Successfully ensured all non-nullable meta fields`, `have values (${decompressedData.modelId}/${decompressedData.id}).`, "Will be saving the changes soon."].join(" "));
|
|
270
|
+
} catch (e) {
|
|
271
|
+
logger.error(["[DDB-ES Table] Failed to ensure all non-nullable meta fields have values", `(${decompressedData.modelId}/${decompressedData.id}): ${e.message}`].join(" "));
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
const compressedData = await (0, _getCompressedData.getCompressedData)(decompressedData);
|
|
275
|
+
ddbEsItemsToBatchWrite.push(ddbEsEntryEntity.putBatch({
|
|
276
|
+
...ddbEsRecord,
|
|
277
|
+
data: compressedData
|
|
278
|
+
}));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
if (ddbItemsToBatchWrite.length) {
|
|
282
|
+
// Store data in primary DynamoDB table.
|
|
283
|
+
const execute = () => {
|
|
284
|
+
return (0, _utils2.batchWriteAll)({
|
|
285
|
+
table: ddbEntryEntity.table,
|
|
286
|
+
items: ddbItemsToBatchWrite
|
|
287
|
+
});
|
|
288
|
+
};
|
|
289
|
+
logger.trace(`Storing ${ddbItemsToBatchWrite.length} record(s) in primary DynamoDB table...`);
|
|
290
|
+
await (0, _utils.executeWithRetry)(execute, {
|
|
291
|
+
onFailedAttempt: error => {
|
|
292
|
+
logger.warn(`Batch write attempt #${error.attemptNumber} failed: ${error.message}`);
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
if (ddbEsItemsToBatchWrite.length) {
|
|
296
|
+
logger.trace(`Storing ${ddbEsItemsToBatchWrite.length} record(s) in DDB-ES DynamoDB table...`);
|
|
297
|
+
const results = await waitUntilHealthy.wait({
|
|
298
|
+
async onUnhealthy(params) {
|
|
299
|
+
const shouldWaitReason = params.waitingReason.name;
|
|
300
|
+
logger.warn(`Cluster is unhealthy (${shouldWaitReason}). Waiting for the cluster to become healthy...`, params);
|
|
301
|
+
if (status.stats.esHealthChecks.unhealthyReasons[shouldWaitReason]) {
|
|
302
|
+
status.stats.esHealthChecks.unhealthyReasons[shouldWaitReason]++;
|
|
303
|
+
} else {
|
|
304
|
+
status.stats.esHealthChecks.unhealthyReasons[shouldWaitReason] = 1;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
status.stats.esHealthChecks.checksCount++;
|
|
309
|
+
status.stats.esHealthChecks.timeSpentWaiting += results.runningTime;
|
|
310
|
+
|
|
311
|
+
// Store data in DDB-ES DynamoDB table.
|
|
312
|
+
const executeDdbEs = () => {
|
|
313
|
+
return (0, _utils2.batchWriteAll)({
|
|
314
|
+
table: ddbEsEntryEntity.table,
|
|
315
|
+
items: ddbEsItemsToBatchWrite
|
|
316
|
+
});
|
|
317
|
+
};
|
|
318
|
+
await (0, _utils.executeWithRetry)(executeDdbEs, {
|
|
319
|
+
onFailedAttempt: error => {
|
|
320
|
+
logger.warn(`[DDB-ES Table] Batch write attempt #${error.attemptNumber} failed: ${error.message}`);
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
status.stats.recordsUpdated += ddbItemsToBatchWrite.length;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// Update checkpoint after every batch.
|
|
328
|
+
let lastEvaluatedKey = true;
|
|
329
|
+
if (result.lastEvaluatedKey) {
|
|
330
|
+
lastEvaluatedKey = result.lastEvaluatedKey;
|
|
331
|
+
}
|
|
332
|
+
status.lastEvaluatedKey = lastEvaluatedKey;
|
|
333
|
+
if (lastEvaluatedKey === true) {
|
|
334
|
+
return false;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// Continue further scanning.
|
|
338
|
+
return true;
|
|
339
|
+
});
|
|
340
|
+
|
|
341
|
+
// Store status in tmp file.
|
|
342
|
+
logger.trace({
|
|
343
|
+
status
|
|
344
|
+
}, "Segment processing completed. Saving status to tmp file...");
|
|
345
|
+
const logFilePath = _path.default.join(_os.default.tmpdir(), `webiny-5-39-6-meta-fields-data-migration-log-${argv.runId}-${argv.segmentIndex}.log`);
|
|
346
|
+
|
|
347
|
+
// Save segment processing stats to a file.
|
|
348
|
+
_fs.default.writeFileSync(logFilePath, JSON.stringify(status.stats, null, 2));
|
|
349
|
+
logger.trace(`Segment processing stats saved in ${logFilePath}.`);
|
|
350
|
+
})();
|
|
351
|
+
|
|
352
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_utils","require","_logger","_dataMigration","_clientDynamodb","_apiElasticsearch","_yargs","_interopRequireDefault","_helpers","_isMigratedEntry","_hasValidTypeFieldValue","_hasAllNonNullableValues","_getOldestRevisionCreatedOn","_getFirstLastPublishedOn","_assignNewMetaFields","_fixTypeFieldValue","_getFallbackIdentity","_ensureAllNonNullableValues","_getDecompressedData","_getCompressedData","_createEntryEntity","_utils2","_waitUntilHealthy","_pinoPretty","_path","_os","_fs","_getNonNullableFieldsWithMissingValues","argv","yargs","hideBin","process","options","runId","type","demandOption","ddbTable","ddbEsTable","esEndpoint","segmentIndex","totalSegments","esHealthMinClusterHealthStatus","esHealthMaxProcessorPercent","esHealthMaxRamPercent","esHealthMaxWaitingTime","esHealthWaitingTimeStep","parseSync","createInitialStatus","lastEvaluatedKey","stats","iterationsCount","recordsScanned","recordsUpdated","recordsSkipped","esHealthChecks","timeSpentWaiting","checksCount","unhealthyReasons","logger","createPinoLogger","level","getLogLevel","env","MIGRATIONS_LOG_LEVEL","msgPrefix","pinoPretty","ignore","documentClient","getDocumentClient","elasticsearchClient","createElasticsearchClient","endpoint","primaryTable","createTable","name","dynamoToEsTable","ddbEntryEntity","createDdbEntryEntity","ddbEsEntryEntity","createDdbEsEntryEntity","status","waitUntilHealthy","createWaitUntilHealthy","minClusterHealthStatus","maxProcessorPercent","maxRamPercent","maxWaitingTime","waitingTimeStep","ddbScanWithCallback","entity","segment","segments","filters","attr","eq","startKey","undefined","limit","result","items","length","trace","ddbItemsToBatchWrite","ddbEsItemsToBatchWrite","ddbEsItemsToBatchRead","fallbackDateTime","Date","toISOString","item","isFullyMigrated","isMigratedEntry","hasValidTypeFieldValue","hasAllNonNullableValues","createdOn","getOldestRevisionCreatedOn","entry","entryEntity","firstLastPublishedOnByFields","getFirstLastPublishedOnBy","assignNewMetaFields","fixTypeFieldValue","getNonNullableFieldsWithMissingValues","modelId","id","fallbackIdentity","getFallbackIdentity","tenant","ensureAllNonNullableValues","dateTime","identity","e","debug","message","push","putBatch","ddbEsLatestRecordKey","entryId","getBatch","PK","SK","ddbEsPublishedRecordKey","locked","Object","keys","ddbEsRecords","batchReadAll","table","values","ddbEsRecord","decompressedData","getDecompressedData","data","join","error","compressedData","getCompressedData","execute","batchWriteAll","executeWithRetry","onFailedAttempt","warn","attemptNumber","results","wait","onUnhealthy","params","shouldWaitReason","waitingReason","runningTime","executeDdbEs","logFilePath","path","os","tmpdir","fs","writeFileSync","JSON","stringify"],"sources":["worker.ts"],"sourcesContent":["import { executeWithRetry } from \"@webiny/utils\";\nimport { createPinoLogger, getLogLevel } from \"@webiny/logger\";\nimport { createTable } from \"@webiny/data-migration\";\nimport { getDocumentClient } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { createElasticsearchClient } from \"@webiny/api-elasticsearch\";\nimport yargs from \"yargs/yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { isMigratedEntry } from \"~/migrations/5.39.0/001/utils/isMigratedEntry\";\nimport { hasValidTypeFieldValue } from \"~/migrations/5.39.0/001/utils/hasValidTypeFieldValue\";\nimport { hasAllNonNullableValues } from \"~/migrations/5.39.0/001/utils/hasAllNonNullableValues\";\nimport { getOldestRevisionCreatedOn } from \"~/migrations/5.39.0/001/utils/getOldestRevisionCreatedOn\";\nimport { getFirstLastPublishedOnBy } from \"~/migrations/5.39.0/001/utils/getFirstLastPublishedOn\";\nimport { assignNewMetaFields } from \"~/migrations/5.39.0/001/utils/assignNewMetaFields\";\nimport { fixTypeFieldValue } from \"~/migrations/5.39.0/001/utils/fixTypeFieldValue\";\nimport { getFallbackIdentity } from \"~/migrations/5.39.0/001/utils/getFallbackIdentity\";\nimport { ensureAllNonNullableValues } from \"~/migrations/5.39.0/001/utils/ensureAllNonNullableValues\";\nimport { getDecompressedData } from \"~/migrations/5.39.0/001/utils/getDecompressedData\";\nimport { getCompressedData } from \"~/migrations/5.39.0/001/utils/getCompressedData\";\nimport { CmsEntry } from \"~/migrations/5.39.0/001/types\";\nimport {\n createDdbEntryEntity,\n createDdbEsEntryEntity\n} from \"~/migrations/5.39.0/001/entities/createEntryEntity\";\nimport {\n batchReadAll,\n BatchReadItem,\n batchWriteAll,\n BatchWriteItem,\n ddbScanWithCallback\n} from \"~/utils\";\nimport { createWaitUntilHealthy } from \"@webiny/api-elasticsearch/utils/waitUntilHealthy\";\nimport pinoPretty from \"pino-pretty\";\nimport { EsHealthChecksParams } from \"~/migrations/5.39.6/001/ddb-es/utils\";\nimport path from \"path\";\nimport os from \"os\";\nimport fs from \"fs\";\nimport { getNonNullableFieldsWithMissingValues } from \"~/migrations/5.39.0/001/utils/getNonNullableFieldsWithMissingValues\";\n\nconst argv = yargs(hideBin(process.argv))\n .options({\n runId: { type: \"string\", demandOption: true },\n ddbTable: { type: \"string\", demandOption: true },\n ddbEsTable: { type: \"string\", demandOption: true },\n esEndpoint: { type: \"string\", demandOption: true },\n segmentIndex: { type: \"number\", demandOption: true },\n totalSegments: { type: \"number\", demandOption: true },\n\n // Elasticsearch health check options.\n esHealthMinClusterHealthStatus: { type: \"string\", demandOption: true },\n esHealthMaxProcessorPercent: { type: \"number\", demandOption: true },\n esHealthMaxRamPercent: { type: \"number\", demandOption: true },\n esHealthMaxWaitingTime: { type: \"number\", demandOption: true },\n esHealthWaitingTimeStep: { type: \"number\", demandOption: true }\n })\n .parseSync();\n\ninterface LastEvaluatedKeyObject {\n PK: string;\n SK: string;\n GSI1_PK: string;\n GSI1_SK: string;\n}\n\ntype LastEvaluatedKey = LastEvaluatedKeyObject | true | null;\n\ninterface MigrationStatus {\n lastEvaluatedKey: LastEvaluatedKey;\n stats: {\n iterationsCount: number;\n recordsScanned: number;\n recordsUpdated: number;\n recordsSkipped: number;\n esHealthChecks: {\n timeSpentWaiting: number;\n checksCount: number;\n unhealthyReasons: {\n [key: string]: number;\n };\n };\n };\n}\n\ninterface DynamoDbElasticsearchRecord {\n PK: string;\n SK: string;\n data: string;\n}\n\nconst createInitialStatus = (): MigrationStatus => {\n return {\n lastEvaluatedKey: null,\n stats: {\n iterationsCount: 0,\n recordsScanned: 0,\n recordsUpdated: 0,\n recordsSkipped: 0,\n esHealthChecks: {\n timeSpentWaiting: 0,\n checksCount: 0,\n unhealthyReasons: {}\n }\n }\n };\n};\n\n(async () => {\n const logger = createPinoLogger(\n {\n level: getLogLevel(process.env.MIGRATIONS_LOG_LEVEL, \"trace\"),\n msgPrefix: `[segment #${argv.segmentIndex}] `\n },\n pinoPretty({ ignore: \"pid,hostname\" })\n );\n\n const documentClient = getDocumentClient();\n const elasticsearchClient = createElasticsearchClient({\n endpoint: `https://${argv.esEndpoint}`\n });\n\n const primaryTable = createTable({\n name: argv.ddbTable,\n documentClient\n });\n const dynamoToEsTable = createTable({\n name: argv.ddbEsTable,\n documentClient\n });\n\n const ddbEntryEntity = createDdbEntryEntity(primaryTable);\n const ddbEsEntryEntity = createDdbEsEntryEntity(dynamoToEsTable);\n\n const status = createInitialStatus();\n\n const waitUntilHealthy = createWaitUntilHealthy(elasticsearchClient, {\n minClusterHealthStatus:\n argv.esHealthMinClusterHealthStatus as EsHealthChecksParams[\"minClusterHealthStatus\"],\n maxProcessorPercent: argv.esHealthMaxProcessorPercent,\n maxRamPercent: argv.esHealthMaxRamPercent,\n maxWaitingTime: argv.esHealthMaxWaitingTime,\n waitingTimeStep: argv.esHealthWaitingTimeStep\n });\n\n await ddbScanWithCallback<CmsEntry>(\n {\n entity: ddbEntryEntity,\n options: {\n segment: argv.segmentIndex,\n segments: argv.totalSegments,\n filters: [\n {\n attr: \"_et\",\n eq: \"CmsEntries\"\n }\n ],\n startKey: status.lastEvaluatedKey || undefined,\n limit: 100\n }\n },\n async result => {\n status.stats.iterationsCount++;\n status.stats.recordsScanned += result.items.length;\n\n if (status.stats.iterationsCount % 5 === 0) {\n // We log every 5th iteration.\n logger.trace(\n `[iteration #${status.stats.iterationsCount}] Reading ${result.items.length} record(s)...`\n );\n }\n\n const ddbItemsToBatchWrite: BatchWriteItem[] = [];\n const ddbEsItemsToBatchWrite: BatchWriteItem[] = [];\n const ddbEsItemsToBatchRead: Record<string, BatchReadItem> = {};\n\n const fallbackDateTime = new Date().toISOString();\n\n // Update records in primary DynamoDB table. Also do preparations for\n // subsequent updates on DDB-ES DynamoDB table, and in Elasticsearch.\n for (const item of result.items) {\n const isFullyMigrated =\n isMigratedEntry(item) &&\n hasValidTypeFieldValue(item) &&\n hasAllNonNullableValues(item);\n\n if (isFullyMigrated) {\n status.stats.recordsSkipped++;\n continue;\n }\n\n // 1. Check if the data migration was ever performed. If not, let's perform it.\n if (!isMigratedEntry(item)) {\n // Get the oldest revision's `createdOn` value. We use that to set the entry-level `createdOn` value.\n const createdOn = await getOldestRevisionCreatedOn({\n entry: item,\n entryEntity: ddbEntryEntity\n });\n\n const firstLastPublishedOnByFields = await getFirstLastPublishedOnBy({\n entry: item,\n entryEntity: ddbEntryEntity\n });\n\n assignNewMetaFields(item, {\n createdOn,\n ...firstLastPublishedOnByFields\n });\n }\n\n // 2. We've noticed some of the records had an invalid `TYPE` field value\n // in the database. This step addresses this issue.\n if (!hasValidTypeFieldValue(item)) {\n // Fixes the value of the `TYPE` field, if it's not valid.\n fixTypeFieldValue(item);\n }\n\n // 3. Finally, once both of the steps were performed, ensure that all\n // new non-nullable meta fields have a value and nothing is missing.\n if (!hasAllNonNullableValues(item)) {\n logger.trace(\n getNonNullableFieldsWithMissingValues(item),\n `Detected an entry with missing values for non-nullable meta fields (${item.modelId}/${item.id}).`\n );\n\n try {\n const fallbackIdentity = await getFallbackIdentity({\n entity: ddbEntryEntity,\n tenant: item.tenant\n });\n\n ensureAllNonNullableValues(item, {\n dateTime: fallbackDateTime,\n identity: fallbackIdentity\n });\n\n logger.trace(\n `Successfully ensured all non-nullable meta fields have values (${item.modelId}/${item.id}). Will be saving into the database soon.`\n );\n } catch (e) {\n logger.debug(\n `Failed to ensure all non-nullable meta fields have values (${item.modelId}/${item.id}): ${e.message}`\n );\n }\n }\n\n ddbItemsToBatchWrite.push(ddbEntryEntity.putBatch(item));\n\n /**\n * Prepare the loading of DynamoDB Elasticsearch part of the records.\n */\n\n const ddbEsLatestRecordKey = `${item.entryId}:L`;\n if (ddbEsItemsToBatchRead[ddbEsLatestRecordKey]) {\n continue;\n }\n\n ddbEsItemsToBatchRead[ddbEsLatestRecordKey] = ddbEsEntryEntity.getBatch({\n PK: item.PK,\n SK: \"L\"\n });\n\n const ddbEsPublishedRecordKey = `${item.entryId}:P`;\n if (item.status === \"published\" || !!item.locked) {\n ddbEsItemsToBatchRead[ddbEsPublishedRecordKey] = ddbEsEntryEntity.getBatch({\n PK: item.PK,\n SK: \"P\"\n });\n }\n }\n\n if (Object.keys(ddbEsItemsToBatchRead).length > 0) {\n /**\n * Get all the records from DynamoDB Elasticsearch.\n */\n const ddbEsRecords = await batchReadAll<DynamoDbElasticsearchRecord>({\n table: ddbEsEntryEntity.table,\n items: Object.values(ddbEsItemsToBatchRead)\n });\n\n for (const ddbEsRecord of ddbEsRecords) {\n const decompressedData = await getDecompressedData<CmsEntry>(ddbEsRecord.data);\n if (!decompressedData) {\n logger.trace(\n `[DDB-ES Table] Skipping record \"${ddbEsRecord.PK}\" as it is not a valid CMS entry...`\n );\n continue;\n }\n\n // 1. Check if the data migration was ever performed. If not, let's perform it.\n if (!isMigratedEntry(decompressedData)) {\n // Get the oldest revision's `createdOn` value. We use that to set the entry-level `createdOn` value.\n const createdOn = await getOldestRevisionCreatedOn({\n entry: { ...decompressedData, PK: ddbEsRecord.PK },\n entryEntity: ddbEntryEntity\n });\n\n const firstLastPublishedOnByFields = await getFirstLastPublishedOnBy({\n entry: { ...decompressedData, PK: ddbEsRecord.PK },\n entryEntity: ddbEntryEntity\n });\n\n assignNewMetaFields(decompressedData, {\n createdOn,\n ...firstLastPublishedOnByFields\n });\n }\n\n // 2. Ensure new non-nullable meta fields have a value and nothing is missing.\n if (!hasAllNonNullableValues(decompressedData)) {\n logger.trace(\n getNonNullableFieldsWithMissingValues(decompressedData),\n [\n `[DDB-ES Table] Detected an entry with missing values for non-nullable meta fields`,\n `(${decompressedData.modelId}/${decompressedData.id}).`\n ].join(\" \")\n );\n\n try {\n const fallbackIdentity = await getFallbackIdentity({\n entity: ddbEntryEntity,\n tenant: decompressedData.tenant\n });\n\n ensureAllNonNullableValues(decompressedData, {\n dateTime: fallbackDateTime,\n identity: fallbackIdentity\n });\n\n logger.trace(\n [\n `[DDB-ES Table] Successfully ensured all non-nullable meta fields`,\n `have values (${decompressedData.modelId}/${decompressedData.id}).`,\n \"Will be saving the changes soon.\"\n ].join(\" \")\n );\n } catch (e) {\n logger.error(\n [\n \"[DDB-ES Table] Failed to ensure all non-nullable meta fields have values\",\n `(${decompressedData.modelId}/${decompressedData.id}): ${e.message}`\n ].join(\" \")\n );\n }\n }\n\n const compressedData = await getCompressedData(decompressedData);\n\n ddbEsItemsToBatchWrite.push(\n ddbEsEntryEntity.putBatch({\n ...ddbEsRecord,\n data: compressedData\n })\n );\n }\n }\n\n if (ddbItemsToBatchWrite.length) {\n // Store data in primary DynamoDB table.\n const execute = () => {\n return batchWriteAll({\n table: ddbEntryEntity.table,\n items: ddbItemsToBatchWrite\n });\n };\n\n logger.trace(\n `Storing ${ddbItemsToBatchWrite.length} record(s) in primary DynamoDB table...`\n );\n await executeWithRetry(execute, {\n onFailedAttempt: error => {\n logger.warn(\n `Batch write attempt #${error.attemptNumber} failed: ${error.message}`\n );\n }\n });\n\n if (ddbEsItemsToBatchWrite.length) {\n logger.trace(\n `Storing ${ddbEsItemsToBatchWrite.length} record(s) in DDB-ES DynamoDB table...`\n );\n const results = await waitUntilHealthy.wait({\n async onUnhealthy(params) {\n const shouldWaitReason = params.waitingReason.name;\n\n logger.warn(\n `Cluster is unhealthy (${shouldWaitReason}). Waiting for the cluster to become healthy...`,\n params\n );\n\n if (status.stats.esHealthChecks.unhealthyReasons[shouldWaitReason]) {\n status.stats.esHealthChecks.unhealthyReasons[shouldWaitReason]++;\n } else {\n status.stats.esHealthChecks.unhealthyReasons[shouldWaitReason] = 1;\n }\n }\n });\n\n status.stats.esHealthChecks.checksCount++;\n status.stats.esHealthChecks.timeSpentWaiting += results.runningTime;\n\n // Store data in DDB-ES DynamoDB table.\n const executeDdbEs = () => {\n return batchWriteAll({\n table: ddbEsEntryEntity.table,\n items: ddbEsItemsToBatchWrite\n });\n };\n\n await executeWithRetry(executeDdbEs, {\n onFailedAttempt: error => {\n logger.warn(\n `[DDB-ES Table] Batch write attempt #${error.attemptNumber} failed: ${error.message}`\n );\n }\n });\n }\n\n status.stats.recordsUpdated += ddbItemsToBatchWrite.length;\n }\n\n // Update checkpoint after every batch.\n let lastEvaluatedKey: LastEvaluatedKey = true;\n if (result.lastEvaluatedKey) {\n lastEvaluatedKey = result.lastEvaluatedKey as unknown as LastEvaluatedKeyObject;\n }\n\n status.lastEvaluatedKey = lastEvaluatedKey;\n\n if (lastEvaluatedKey === true) {\n return false;\n }\n\n // Continue further scanning.\n return true;\n }\n );\n\n // Store status in tmp file.\n logger.trace({ status }, \"Segment processing completed. Saving status to tmp file...\");\n const logFilePath = path.join(\n os.tmpdir(),\n `webiny-5-39-6-meta-fields-data-migration-log-${argv.runId}-${argv.segmentIndex}.log`\n );\n\n // Save segment processing stats to a file.\n fs.writeFileSync(logFilePath, JSON.stringify(status.stats, null, 2));\n\n logger.trace(`Segment processing stats saved in ${logFilePath}.`);\n})();\n"],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@webiny/migrations",
|
|
3
|
+
"version": "5.39.7-beta.2",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"build": "yarn webiny run build",
|
|
6
|
+
"watch": "yarn webiny run watch"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@elastic/elasticsearch": "7.12.0",
|
|
10
|
+
"@webiny/api-elasticsearch": "5.39.7-beta.2",
|
|
11
|
+
"@webiny/aws-sdk": "5.39.7-beta.2",
|
|
12
|
+
"@webiny/cli-plugin-deploy-pulumi": "5.39.7-beta.2",
|
|
13
|
+
"@webiny/data-migration": "5.39.7-beta.2",
|
|
14
|
+
"@webiny/db-dynamodb": "5.39.7-beta.2",
|
|
15
|
+
"@webiny/error": "5.39.7-beta.2",
|
|
16
|
+
"@webiny/ioc": "5.39.7-beta.2",
|
|
17
|
+
"@webiny/logger": "5.39.7-beta.2",
|
|
18
|
+
"@webiny/utils": "5.39.7-beta.2",
|
|
19
|
+
"execa": "5.1.1",
|
|
20
|
+
"fast-glob": "3.2.12",
|
|
21
|
+
"jsonpack": "1.1.5",
|
|
22
|
+
"lodash": "4.17.21",
|
|
23
|
+
"pino-pretty": "9.4.0",
|
|
24
|
+
"pluralize": "8.0.0",
|
|
25
|
+
"yargs": "17.6.2"
|
|
26
|
+
},
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public",
|
|
29
|
+
"directory": "dist"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/execa": "2.0.0",
|
|
33
|
+
"@webiny/api-headless-cms": "5.39.7-beta.2",
|
|
34
|
+
"@webiny/api-headless-cms-ddb-es": "5.39.7-beta.2",
|
|
35
|
+
"@webiny/cli": "5.39.7-beta.2",
|
|
36
|
+
"@webiny/handler-aws": "5.39.7-beta.2",
|
|
37
|
+
"@webiny/plugins": "5.39.7-beta.2",
|
|
38
|
+
"@webiny/project-utils": "5.39.7-beta.2",
|
|
39
|
+
"elastic-ts": "0.8.0",
|
|
40
|
+
"jest-dynalite": "3.6.1",
|
|
41
|
+
"ttypescript": "1.5.15",
|
|
42
|
+
"typescript": "4.7.4"
|
|
43
|
+
},
|
|
44
|
+
"gitHead": "0abcb9da80cb1ee22506c6f53e4f3bf2183ec9fd"
|
|
45
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { AttributeDefinitions, Entity, Table } from "@webiny/db-dynamodb/toolbox";
|
|
2
|
+
export declare const createLegacyEntity: (table: Table<string, string, string>, entityName: string, attributes: AttributeDefinitions) => Entity<string, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, Table<string, string, string>, true, true, boolean, string, string, string, boolean, {
|
|
3
|
+
PK: {
|
|
4
|
+
partitionKey: true;
|
|
5
|
+
};
|
|
6
|
+
SK: {
|
|
7
|
+
sortKey: true;
|
|
8
|
+
};
|
|
9
|
+
GSI1_PK: {
|
|
10
|
+
type: "string";
|
|
11
|
+
};
|
|
12
|
+
GSI1_SK: {
|
|
13
|
+
type: "string";
|
|
14
|
+
};
|
|
15
|
+
TYPE: {
|
|
16
|
+
type: "string";
|
|
17
|
+
};
|
|
18
|
+
}, {
|
|
19
|
+
PK: {
|
|
20
|
+
partitionKey: true;
|
|
21
|
+
};
|
|
22
|
+
SK: {
|
|
23
|
+
sortKey: true;
|
|
24
|
+
};
|
|
25
|
+
GSI1_PK: {
|
|
26
|
+
type: "string";
|
|
27
|
+
};
|
|
28
|
+
GSI1_SK: {
|
|
29
|
+
type: "string";
|
|
30
|
+
};
|
|
31
|
+
TYPE: {
|
|
32
|
+
type: "string";
|
|
33
|
+
};
|
|
34
|
+
}, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
|
|
35
|
+
[x: string]: any;
|
|
36
|
+
[x: number]: any;
|
|
37
|
+
[x: symbol]: any;
|
|
38
|
+
}, {
|
|
39
|
+
[x: string]: any;
|
|
40
|
+
[x: number]: any;
|
|
41
|
+
[x: symbol]: any;
|
|
42
|
+
}>;
|
|
43
|
+
export declare const createStandardEntity: (table: Table<string, string, string>, entityName: string, attributes?: AttributeDefinitions) => Entity<string, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, Table<string, string, string>, true, true, boolean, string, string, string, boolean, {
|
|
44
|
+
PK: {
|
|
45
|
+
partitionKey: true;
|
|
46
|
+
};
|
|
47
|
+
SK: {
|
|
48
|
+
sortKey: true;
|
|
49
|
+
};
|
|
50
|
+
GSI1_PK: {
|
|
51
|
+
type: "string";
|
|
52
|
+
};
|
|
53
|
+
GSI1_SK: {
|
|
54
|
+
type: "string";
|
|
55
|
+
};
|
|
56
|
+
TYPE: {
|
|
57
|
+
type: "string";
|
|
58
|
+
};
|
|
59
|
+
data: {
|
|
60
|
+
type: "map";
|
|
61
|
+
};
|
|
62
|
+
}, {
|
|
63
|
+
PK: {
|
|
64
|
+
partitionKey: true;
|
|
65
|
+
};
|
|
66
|
+
SK: {
|
|
67
|
+
sortKey: true;
|
|
68
|
+
};
|
|
69
|
+
GSI1_PK: {
|
|
70
|
+
type: "string";
|
|
71
|
+
};
|
|
72
|
+
GSI1_SK: {
|
|
73
|
+
type: "string";
|
|
74
|
+
};
|
|
75
|
+
TYPE: {
|
|
76
|
+
type: "string";
|
|
77
|
+
};
|
|
78
|
+
data: {
|
|
79
|
+
type: "map";
|
|
80
|
+
};
|
|
81
|
+
}, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
|
|
82
|
+
[x: string]: any;
|
|
83
|
+
[x: number]: any;
|
|
84
|
+
[x: symbol]: any;
|
|
85
|
+
}, {
|
|
86
|
+
[x: string]: any;
|
|
87
|
+
[x: number]: any;
|
|
88
|
+
[x: symbol]: any;
|
|
89
|
+
}>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createStandardEntity = exports.createLegacyEntity = void 0;
|
|
7
|
+
var _toolbox = require("@webiny/db-dynamodb/toolbox");
|
|
8
|
+
const createLegacyEntity = (table, entityName, attributes) => {
|
|
9
|
+
return new _toolbox.Entity({
|
|
10
|
+
table,
|
|
11
|
+
name: entityName,
|
|
12
|
+
attributes: {
|
|
13
|
+
PK: {
|
|
14
|
+
partitionKey: true
|
|
15
|
+
},
|
|
16
|
+
SK: {
|
|
17
|
+
sortKey: true
|
|
18
|
+
},
|
|
19
|
+
GSI1_PK: {
|
|
20
|
+
type: "string"
|
|
21
|
+
},
|
|
22
|
+
GSI1_SK: {
|
|
23
|
+
type: "string"
|
|
24
|
+
},
|
|
25
|
+
TYPE: {
|
|
26
|
+
type: "string"
|
|
27
|
+
},
|
|
28
|
+
...(attributes || {})
|
|
29
|
+
},
|
|
30
|
+
autoExecute: true,
|
|
31
|
+
autoParse: true
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.createLegacyEntity = createLegacyEntity;
|
|
35
|
+
const createStandardEntity = (table, entityName, attributes = {}) => {
|
|
36
|
+
return new _toolbox.Entity({
|
|
37
|
+
table,
|
|
38
|
+
name: entityName,
|
|
39
|
+
attributes: {
|
|
40
|
+
PK: {
|
|
41
|
+
partitionKey: true
|
|
42
|
+
},
|
|
43
|
+
SK: {
|
|
44
|
+
sortKey: true
|
|
45
|
+
},
|
|
46
|
+
GSI1_PK: {
|
|
47
|
+
type: "string"
|
|
48
|
+
},
|
|
49
|
+
GSI1_SK: {
|
|
50
|
+
type: "string"
|
|
51
|
+
},
|
|
52
|
+
TYPE: {
|
|
53
|
+
type: "string"
|
|
54
|
+
},
|
|
55
|
+
data: {
|
|
56
|
+
type: "map"
|
|
57
|
+
},
|
|
58
|
+
// When moving attributes to `data` envelope, we need to keep the old attributes in place for 1 version.
|
|
59
|
+
...attributes
|
|
60
|
+
},
|
|
61
|
+
autoExecute: true,
|
|
62
|
+
autoParse: true
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
exports.createStandardEntity = createStandardEntity;
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=createEntity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_toolbox","require","createLegacyEntity","table","entityName","attributes","Entity","name","PK","partitionKey","SK","sortKey","GSI1_PK","type","GSI1_SK","TYPE","autoExecute","autoParse","exports","createStandardEntity","data"],"sources":["createEntity.ts"],"sourcesContent":["import { AttributeDefinitions, Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\n\nexport const createLegacyEntity = (\n table: Table<string, string, string>,\n entityName: string,\n attributes: AttributeDefinitions\n) => {\n return new Entity({\n table,\n name: entityName,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n ...(attributes || {})\n },\n autoExecute: true,\n autoParse: true\n });\n};\n\nexport const createStandardEntity = (\n table: Table<string, string, string>,\n entityName: string,\n attributes: AttributeDefinitions = {}\n) => {\n return new Entity({\n table,\n name: entityName,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n // When moving attributes to `data` envelope, we need to keep the old attributes in place for 1 version.\n ...attributes\n },\n autoExecute: true,\n autoParse: true\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAGA,CAC9BC,KAAoC,EACpCC,UAAkB,EAClBC,UAAgC,KAC/B;EACD,OAAO,IAAIC,eAAM,CAAC;IACdH,KAAK;IACLI,IAAI,EAAEH,UAAU;IAChBC,UAAU,EAAE;MACRG,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACD,IAAIR,UAAU,IAAI,CAAC,CAAC;IACxB,CAAC;IACDW,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAhB,kBAAA,GAAAA,kBAAA;AAEK,MAAMiB,oBAAoB,GAAGA,CAChChB,KAAoC,EACpCC,UAAkB,EAClBC,UAAgC,GAAG,CAAC,CAAC,KACpC;EACD,OAAO,IAAIC,eAAM,CAAC;IACdH,KAAK;IACLI,IAAI,EAAEH,UAAU;IAChBC,UAAU,EAAE;MACRG,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACDO,IAAI,EAAE;QACFP,IAAI,EAAE;MACV,CAAC;MACD;MACA,GAAGR;IACP,CAAC;IACDW,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAC,oBAAA,GAAAA,oBAAA"}
|