---
id: post/sauravdhyani-com/tag-blogger-com-1999-blog-3122193036149030463-post-3697577773817687094--e070102696
type: post
title: How to Migrate Business Central Table Fields from Integer to BigInteger.
summary: Business Central version 29 enables developers to migrate table fields from Integer to BigInteger without data loss during upgrades when targeting runtime 18.0 or later. This addresses scenarios where record identifiers exceed the 32-bit integer limit, while requiring careful handling of dependent code that may face narrowing conversions.
tier: community
language: en
tags:
  - table fields
  - data type migration
  - biginteger
  - compiler warnings
  - appsourcecop
  - upgrade scenarios
  - schema synchronization
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T06:30:44.184Z"
  flags: []
generated:
  at: "2026-10-08T05:36:33.848Z"
  pipeline: 0.2.0
  prompts:
    extract-post: 1
  input_hash: ca3660d87e7d3275271bced867492f5c37e24215eeb2d3702aafcea9095a5260
evidence:
  - kind: blog
    url: https://www.sauravdhyani.com/2026/09/how-to-migrate-business-central-table.html
    title: How to Migrate Business Central Table Fields from Integer to BigInteger.
    date: "2026-10-08"
    commit: null
    t: null
    quote: null
  - kind: blog
    url: https://www.sauravdhyani.com/2026/09/how-to-migrate-business-central-table.html
    title: How to Migrate Business Central Table Fields from Integer to BigInteger.
    date: "2026-10-08"
    commit: null
    t: null
    quote: Every valid Integer value is also a valid BigInteger value. The conversion is widening, not narrowing, so existing data is preserved.
  - kind: blog
    url: https://www.sauravdhyani.com/2026/09/how-to-migrate-business-central-table.html
    title: How to Migrate Business Central Table Fields from Integer to BigInteger.
    date: "2026-10-08"
    commit: null
    t: null
    quote: A BigInteger value assigned to an Integer can overflow silently or throw a runtime error. Treat every warning as a potential bug.
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
post_id: tag:blogger.com,1999:blog-3122193036149030463.post-3697577773817687094
source_id: sauravdhyani-com
source_name: Saurav Dhyani
url: https://www.sauravdhyani.com/2026/09/how-to-migrate-business-central-table.html
published_at: "2026-10-08T05:30:00.000Z"
author: Saurav Dhyani
full_text: false
words: 2364
quotes:
  - text: Every valid Integer value is also a valid BigInteger value. The conversion is widening, not narrowing, so existing data is preserved.
    why_it_matters: This clarifies the technical foundation that makes the feature safe and non-destructive compared to other field type changes.
  - text: A BigInteger value assigned to an Integer can overflow silently or throw a runtime error. Treat every warning as a potential bug.
    why_it_matters: This emphasizes the critical importance of addressing compiler warnings to prevent runtime failures in dependent code.
code_objects_mentioned: []
systems:
  - development
  - platform
versions_mentioned:
  - version 29
  - runtime 18.0
  - Fall 2026
preview:
  embeddable: true
  frame_url: null
  image: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWXV77rXzbRNwVBySaFVcs3b9G28i050jasMMt5UdEpNdAEUsioqmDp8hMmx6372uIvrjG-OFB9wlpi8GwcvCAvOSm0j4rZpXo6Abu8nq4fJwYNQRlajzZfpR62DZ49Xzyb1bG5NxY7Y2sDn8e3RNnN9v7Y80N5Lrz1ZCk3NzqS1pC5dqS45iaZHrLdlI/w1200-h630-p-k-no-nu/Thumbnail1%20(3).png
  image_alt: null
  image_w: null
  image_h: null
  site_name: null
  favicon: https://www.sauravdhyani.com/favicon.ico
  probed_at: "2026-10-08T06:22:37.054Z"
---

# How to Migrate Business Central Table Fields from Integer to BigInteger.

[Read the post](https://www.sauravdhyani.com/2026/09/how-to-migrate-business-central-table.html) · Saurav Dhyani (Saurav Dhyani, MVP) · 2026-10-08 · 2364 words · tier community · reviewed (checked by Opus)

> Business Central version 29 enables developers to migrate table fields from Integer to BigInteger without data loss during upgrades when targeting runtime 18.0 or later. This addresses scenarios where record identifiers exceed the 32-bit integer limit, while requiring careful handling of dependent code that may face narrowing conversions.

## Key points

- In version 29, with runtime 18.0 or later, an existing Integer table field can be changed to BigInteger without losing data. Schema sync converts the SQL column from int to bigint.
- The migration only works one way. Changing BigInteger back to Integer is not supported because it narrows the value and can lose data.
- The compiler warns when a BigInteger field is narrowed to Integer, Option or Enum in property contexts such as TableRelation or CalcFormula WHERE clauses.
- AppSourceCop rule AS0141 flags how the field type change may affect dependent extensions, so those extensions should be tested before publishing.
- Recommended steps: widen dependent variables and return types, check CalcFormula target types, and test with values above 2,147,483,647.

## Quotes

- "Every valid Integer value is also a valid BigInteger value. The conversion is widening, not narrowing, so existing data is preserved." (This clarifies the technical foundation that makes the feature safe and non-destructive compared to other field type changes.)
- "A BigInteger value assigned to an Integer can overflow silently or throw a runtime error. Treat every warning as a potential bug." (This emphasizes the critical importance of addressing compiler warnings to prevent runtime failures in dependent code.)

## Context

- Features: Integer to BigInteger field migration, AppSourceCop rule AS0141, Schema synchronization, CalcFormula evaluation, Narrowing conversion warnings, Property context validation
- Versions: version 29, runtime 18.0, Fall 2026

Source: Saurav Dhyani, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.
