How to move a data base from one instance to another

I have a development database instance and model, now I need to create a staging instance. So, I:

Created a new connection object to the staging instance.

Created the database & filegroups on staging.

Ran Create DDL script on the model

Tried to execute the code on the staging instance. Some 20 tables are missing in the script. I can see no reason these tables were omitted the create table simply isn't there.

Tried to use generate compare script. It refuses to see the new connection object, so it has nothing to compare to. Marked it as favorite, tried everything I can think of. The "use temporary connection" asks for a password only, and connects to the development database.

Finally backed up the model and deleted the connection to development, and rebooted the machine. Surprise I can no longer compare anything to anything. There are no connections available at all, when I choose temporary connection it asks me for sa password, goes away a long time, and says it can't connect. I assume it's holding on a phantom copy of the connection I deleted.

Being able to migrate a model between instances seems like a fundamental activity please what am I doing wrong?

Figure out the connection challenge, the two databases were not the same exact version.

Used SSMS to create DDL and setup the development instance. But sure would like to understand why my model generates DDL that's missing tables when it verifies, I can see it not creating DDL for tables with verification failures.