few-jackal-44141
12/22/2022, 8:45 AMflat-egg-44689
12/22/2022, 8:55 AMCREATE, ALTER) also shouldn't appear in code unless it is an update script that is specifically designed for that purpose and that is only run once. Your database creation script should be a separate .sql file that you can execute against your database once. Any updates to the model should also be placed into separate .sql so the entire model can be reconstructed by executing each file in order.
All the SQL features that these "easy" scripts provide can be learned in a few hours so you might as well do that.
Special mention for the fake scope resolution operator, ::. If a library uses that, it's probably not good.