Skip to content

# Route

The route database/init could be use to init the database or some tables.

    @route(
        "/database/init",
        admin=True,
        parameters=[
            Parameter("binds", ptype=list[str]),
            Parameter("tables", ptype=list[str]),
            Parameter("drop", ptype=bool, default=False),
            Parameter("truncate", ptype=bool, default=False),
            Parameter("force", ptype=bool, default=False),
            Parameter("create", ptype=bool, default=False),
        ],
    )

# Configuration

Content of tables could be pre-defined in various ways:

- python: you have to specify the directory where the py files are defined using the init_database_dir_py parameter in your database configuration.

For every table you want to fill you could specify objects which are models in this situation:

    from models.database.olca import TblGroups

    ini = {
        TblGroups: {
            "objects": [
                TblGroups.instantiate(
                    2, "hidden", "far fa-eye-slash", "var(--ion-color-light)"
                ),
                TblGroups.instantiate(3, "steps", "fas fa-cogs", "var(--ion-color-danger)"),
                TblGroups.instantiate(
                    4, "materials", "fas fa-cubes", "var(--ion-color-primary)"
                ),
                TblGroups.instantiate(
                    5, "transports", "fas fa-dolly-flatbed", "var(--ion-color-secondary)"
                ),
                TblGroups.instantiate(
                    6, "powers", "fas fa-lightbulb", "var(--ion-color-warning)"
                ),
            ]
        },
    }

- json: you have to specify the directory where the json files are defined using the init_database_dir_json parameter in your database configuration.

    {
        "sophisme": {
            "headers": ["theme","sophisme","user","proposition"],
            "values":
                [
                    [5,20,6,34],
                    [5,7,1,35],
                    [5,9,1,35]
                ]
        }
    }

- sql: you have to specify the directory where the sql files are defined using the init_database_dir_sql parameter in your database configuration.

Here the code is directly executed, so it could have any valid sql structure.