Create a table using a schema

I have a functioning database that I want to add and remove tables from programmatically. This was easy to do in Python using the records library but I can’t figure it out in Rust using diesel.

I can do drop table users if the users table already exists but how do I create a users table using the schema I’ve created (the table macro)? The guides I’ve found only cover doing this in the CLI tool but that isn’t useful to me. I just want to do something like:
diesel::create(users).execute(&conn)?;
or maybe
users.create::<User>(&conn);
or whatever other formats

What am I not understanding?

That’s currently not supported by diesel and we have no plans to add that any time soon.
That said: There are two ways to make this work today:

  1. Just use raw sql with diesel::sql_query
  2. Write your own query dsl for creating/dropping tables.