You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iTi-Flask/docs/SEEDS.md

894 B

种子数据

iTi-Flask 不提供框架 seed。 业务 seed 由业务项目维护。

规则

seed 代码必须:

  • 幂等。
  • 可重复执行。
  • 按唯一键 upsert。
  • 不删除用户数据。
  • 不替代 migration 修改表结构。

seed 适合写:

  • 业务默认配置。
  • 业务字典。
  • 演示数据。

seed 不适合写:

  • 框架内部数据。
  • 其它包的数据。
  • 运行时数据库快照。

业务命令

业务项目可以在模块中注册自己的 CLI 命令:

import click


class ExampleModule:
    name = "example"

    def register_commands(self, app):
        @click.command("seed-example")
        def seed_example():
            click.echo("seeded")

        app.cli.add_command(seed_example)

执行:

uv run python -m flask --app app.py seed-example

需要系统业务 seed 时,查看 iTi-System 文档。