Create table via ddl in dbt without using pre-post hook

Hi Team,
I know dbt can create table in warehouse based on model. But to keep control on data type and approval process seamless we need a method where we can create a table via ddl sql and then execute the model
will this possible via dbt where we pass the sql file/ txt file and execute the macro to create table if not exist