What is the drush sql-sync arguments for modules, themes, sites, but "not core"? My live/staging Drupal site on remote host was installed without git version control (I don't even recall, but I guess I used wget). Also it has content, modules and themes I wish to keep. The new dev site is also Drupal 7.x but was installed with git version control. To update the dev server I'm thinking to pull down all the content, modules, etc. See if I can get it running, then push it back into a new git repo on remote. 

I've added the necessary alieses, and with drush, I copied everything in sites to the local dev site,

drush core-rsync @test:%sites @dev:%sites


Now I wish to use drush sql-sync to pull down the database for the whole site, but minus core. Reading the drush help file for sql-sync, I can only see: 

--tables-list  A comma-separated list of tables to transfer. 


Which puts me in the same boat if I did a dump from MySQL. 

What is the drush sql-sync arguments for modules, themes, sites, but "not core"?
There are also the --structure-tables and --skip-tables options. The --skip-tables option will completely remove the tables when dumping or syncing, while the --structure-tables option will sync table structure but not the data.

I don't think you want to drop the core modules tables in your development enviroment, so I suggest adding the tables to the --structure-tables option. You can add configure drushrc.php to have the tables listed separately, like this:

$options['structure-tables']['common'] = array(
  'cache', 'cache_*', 'history', 'search_*', 'sessions', 'watchdog');


And then you can use the --structure-tables-key option:

drush sql-sync --structure-tables-key="common" @project.prod @project.dev