I copied your code, changed the path to the database file (your home directory doesn't exist on my machine) and it ran just fine. I then connected to the database via sqlite3 and both the .tables and .schema commands returned what I would expect (namely the list of tables and their definitions).
What command are you using to connect to the database? If you're not targeting the specific database you created, sqlite3 will create a new database and it would indeed be empty. Do you still find a lack of tables & schema when connecting as such: sqlite3 /home/user/bmcclintock/code_review.db?