Hi,

I was more thinking of checking the existence of the tables, as the database 
might exist but be empty …
I guess the way to go would be to query the “information_schema” for the 
existence of the tables and register the result …

Thanks for the tip.

Cheers,

fred

On Nov 26, 2013, at 19:15 , Bruce Pennypacker <bruce.pennypac...@gmail.com> 
wrote:

> It looks like the mysql_db module will blindly run mysqldump wiht the 
> specified target file if it's specified, so yes it's currently expected 
> behavior.
> 
> What you would probably need to do is run an action before you call mysql_db 
> that checks to see if the database already exists and register a variable so 
> that you can call create DB only if you need to.  This could be something 
> along the lines of:
> 
> -name: check if DB exists
>  shell: mysql -u <user> -p <password> -h <host> 'show databases;' | grep {{ 
> db_name }}
>  register: dbstatus
> 
> If you run that with -vvv you'll see all the facts available in the dbstatus 
> variable, and one of them can be used in a 'when' clause for your mysql_DB 
> call.
> 
> -Bruce
> 
> On Tuesday, November 26, 2013 11:42:42 AM UTC-5, Fred Badel wrote:
> Hello,
> 
> I have a playbook that create a mysql DB and import an empty schema:
> 
> - name: create DB
>   mysql_db: name={{ db_name }} state=present login_host=127.0.0.1 
> 
> - name: create schema
>   mysql_db: name={{ db_name }} state=import login_host=127.0.0.1 
> target=/create_tables.sql 
> 
> From what i could notice, the sql file is imported each time the playbook is 
> run ... (aka, the task is marked as changed each time I run the playbook)
> is this an expected behavior?
> does someone have a recommended way of using the import feature and run it 
> only once?
> 
> Thanks.
> 
> Fred
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to ansible-project+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to