masamune_model_tidb 3.3.0 copy "masamune_model_tidb: ^3.3.0" to clipboard
masamune_model_tidb: ^3.3.0 copied to clipboard

Masamune plugin package that includes a model adapter to retrieve data from TiDB.

Masamune logo

Masamune Model TiDB

Follow on GitHub Follow on X Follow on YouTube Maintained with Melos

GitHub Sponsor


[GitHub] | [YouTube] | [Packages] | [X] | [LinkedIn] | [mathru.net]


Plug-in packages that add functionality to the Masamune Framework.

For more information about Masamune Framework, please click here.

https://pub.dev/packages/masamune

Usage #

Use TidbModelAdapter with @mathrunet/masamune_cloudflare_tidb Workers.

final adapter = TidbModelAdapter();

Model paths use the same layout as Turso.

database/<database>/<table>/<document_id>

The adapter sends all reads and writes to the Workers CRUD endpoint. It does not open direct MySQL/TiDB TCP connections from Flutter clients.

Separate development and production databases #

Pass prefix to select a prefixed physical database while keeping model paths unchanged.

final developmentAdapter = TidbModelAdapter(
  prefix: "dev___", // Normalized to "dev_".
);

For database/main/users, this adapter connects to dev_main.users. A null, empty, or underscore-only prefix connects to the existing main.users. Trailing underscores are removed before exactly one underscore is appended. Rules continue to use the logical path main/users, and local caches are separated by prefix.

Katana CLI #

Enable TiDB in katana.yaml and run katana apply.

cloudflare:
  tidb:
    enable: true
    connection_url: mysql://user:password@gateway01.ap-northeast-1.prod.aws.tidbcloud.com:4000/app_db

Katana CLI stores the TiDB connection URL in Cloudflare Workers secrets with wrangler secret put.

TiDB Cloud Starter and Essential clusters require a username prefix. For example, if the TiDB Cloud connection dialog shows 4M9hEa4vE3S7jAF.root, the prefix is 4M9hEa4vE3S7jAF. Use the prefixed username in connection_url:

mysql://4M9hEa4vE3S7jAF.root:<PASSWORD>@gateway01.ap-northeast-1.prod.aws.tidbcloud.com:4000/app_db

The root password in connection_url is used only by the Workers backend and is not returned to the Flutter client.

TiDB databases are not created automatically. Create the database in TiDB Cloud before using it. This includes prefixed direct-mode databases such as dev_main. Tables and missing columns are created automatically on save.

GitHub Sponsors #

Sponsors are always welcome. Thank you for your support!

https://github.com/sponsors/mathrunet

0
likes
0
points
433
downloads

Publisher

verified publishermathru.net

Weekly Downloads

Masamune plugin package that includes a model adapter to retrieve data from TiDB.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, katana, masamune, meta

More

Packages that depend on masamune_model_tidb