> > I also attempted to use the fake_migrate_all=True ,migrate=False but none > of the auth files was created. Only my own tables files > 1. deleted all the databases folder files and set DAL's > fake_migrate_all=True ,migrate=False > 2. Only my tables files (in databases folder), and scheduler files (with > the new hex prefix) was created. >
With migrate=False, fake_migrate and fake_migrate_all will do nothing -- the above process would not create the *.table files for *any* of your tables. Probably you already had the *.table files for your other tables at that point, so it only *appeared* that the Auth files were skipped. If you set fake_migrate_all=True, all tables defined during the subsequent request (including Auth tables) will have their *.table files created, unless migrate or fake_migrate is explicitly set to False for an individual table. Note, auth.define_tables() itself takes migrate and fake_migrate arguments -- if you have either of those arguments set to False, then the Auth tables will not be fake migrated with fake_migrate_all=True. I suggest you read http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#markmin_table_migrations, as it explains how everything works. In particular, look at the "Migration Control Summary" section. > Why the auth tables migration file names need a hex prefix and why it is > different for each web2py installation ? > If the hex prefix can be changed and everything is working ? why need it > in the first place ? > The prefix is simply a default generated by the DAL, and it is a hash of the database URI (as noted in the documentation linked above). This allows you to have multiple DAL instances linked to different databases without worrying about clashes among the *.table file names. Alternatively, you can specify your own prefix via the "migrate" argument, which the book actually recommends: db.define_table('mytable', ..., migrate='db1_mytable.table') > Shouldn't a complete copy of application and database just work out of > the box ? > It does if you (a) keep the database URI the same or (b) explicitly set the *.table file names via each table's "migrate" argument. Otherwise, as noted above, the URI hash is needed to allow multiple DAL instances within a single app. Anthony -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.