FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Wrong statement in documentation about SQLModel.metadata.create_all() · Issue #34 · fastapi/sqlmodel · GitHub

Repository navigation

Wrong statement in documentation about SQLModel.metadata.create_all() #34

Closed

Description

First Check

  • I added a very descriptive title to this issue.
  • I used the GitHub search to find a similar issue and didn't find it.
  • I searched the SQLModel documentation, with the integrated search.
  • I already searched in Google "How to X in SQLModel" and didn't find any information.
  • I already read and followed all the tutorial in the docs and didn't find an answer.
  • I already checked if it is not related to SQLModel but to Pydantic.
  • I already checked if it is not related to SQLModel but to SQLAlchemy.

Commit to Help

  • I commit to help with one of those options 👆

Example Code

No code involved

Description

Moving create_all to function here just prevents creation on first import. Python modules are executed only once, you can check it yourself.

So statement "If SQLModel.metadata.create_all(engine) was not in a function and we tried to import something from this module (from this file) in another, it would try to create the database and table every time." is wrong ("every time" in particular).

Operating System

macOS

Operating System Details

No response

SQLModel Version

0.0.4

Python Version

3.9.5

Additional Context

No response

Activity

  1. obassett commented on Aug 27, 2021

    It is a fair point. I didn't read it the same way as you, but potentially it could be clearer.

    I read that to mean: If you import the module in a given run-time, it will execute the code and create the database and table. This will happen every time that run-time is started.

    I didn't read it as: In a given run-time, every time the module is imported it will create the database and tables.

    But it maybe could be clearer.

  2. vimhead commented on Aug 27, 2021

    Author

    @obassett I get your point, but if you want to prevent creation on every run, you should remove this "create_all", not to extract it to the function. The function is called on every run in the example anyway, because main is executed every time

  3. added a commit that references this issue on Jun 24, 2022
  4. tiangolo commented on Aug 30, 2022

    Member

    Thanks for the discussion! I added #426 to improve the text. If you feel like there's something else to be done, please let me know. If it seems clearer to you now, you can close the issue. ☕

  5. github-actions commented on Sep 10, 2022

    Contributor

    Assuming the original need was handled, this will be automatically closed now. But feel free to add more comments or create new issues or PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    answeredquestionFurther information is requested

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL