Skip to content

Commit 917c911

Browse files
committed
Add option to disable migrated devices in ChirpStack v3.
1 parent 4ee1d7d commit 917c911

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Flags:
1616
--deveui-list-file string Path to file containing DevEUIs to migrate (one DevEUI per line)
1717
--device-profile-id-list-file string Path to file containing list of Device Profile IDs to migrate (one per line)
1818
--device-session-ttl-days int Device-session TTL in days (default 31)
19+
--disable-migrated-devices Disable migrated devices in ChirpStack v3
1920
--drop-tenants-and-users Drop tenants and users before migration
2021
-h, --help help for chirpstack-v3-to-v4
2122
--migrate-applications Migrate applications (default true)

main.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ var (
4646
migrateDevices bool
4747
migrateGatewayMetrics bool
4848
migrateDeviceMetrics bool
49+
disableMigratedDevices bool
4950
)
5051

5152
// Internal state
@@ -92,6 +93,7 @@ func init() {
9293
rootCmd.PersistentFlags().StringArrayVarP(&nsConfigFiles, "ns-config-file", "", []string{}, "Path to chirpstack-network-server.toml configuration file (can be repeated)")
9394
rootCmd.PersistentFlags().StringVarP(&devEUIListFile, "deveui-list-file", "", "", "Path to file containing DevEUIs to migrate (one DevEUI per line)")
9495
rootCmd.PersistentFlags().StringVarP(&deviceProfileIDListFile, "device-profile-id-list-file", "", "", "Path to file containing list of Device Profile IDs to migrate (one per line)")
96+
rootCmd.PersistentFlags().BoolVarP(&disableMigratedDevices, "disable-migrated-devices", "", false, "Disable migrated devices in ChirpStack v3")
9597
rootCmd.PersistentFlags().IntVarP(&csSessionTTL, "device-session-ttl-days", "", 31, "Device-session TTL in days")
9698
rootCmd.PersistentFlags().BoolVarP(&dropTenantAndUsers, "drop-tenants-and-users", "", false, "Drop tenants and users before migration")
9799
rootCmd.PersistentFlags().BoolVarP(&migrateUsers, "migrate-users", "", true, "Migrate users")
@@ -1585,6 +1587,14 @@ func migrateDevicesFn() {
15851587
for devEUI := range appSKeys {
15861588
migrateDeviceGatewayFn(devEUI[:])
15871589
}
1590+
1591+
if disableMigratedDevices {
1592+
log.Println("Disable migrated devices")
1593+
_, err := nsDB.Exec("update device set is_disabled = true where dev_eui = any($1)", pq.ByteaArray(deviceIDs))
1594+
if err != nil {
1595+
log.Fatal("Disable migrated devices error", err)
1596+
}
1597+
}
15881598
}
15891599

15901600
func migrateDeviceKeysFn(tx *sqlx.Tx, devEUIs [][]byte) {

0 commit comments

Comments
 (0)