2014-01-10 7 views
0

Недавно я работал над web2py postgresql, я сделал несколько изменений в моей таблице, добавил новые поля с fake_migration_all = true, он обновляет мой .table файл, но два новых добавленных поля не могут быть изменены в таблице базы данных postgres и я также попробовал fake_migration_all = false, а также удалил файл mu .table, но все же он не помог изменить мою таблицу. Может ли два раза добавить поля в datatable.База данных Web2py postgreSQL

Любое лучшее решение, доступное для того, чтобы я не мог отказаться от таблицы данных и полей, также должен быть изменен/добавлен в мой стол, поэтому мои данные не должны быть голыми

ответ

0

fake_migrate_all не выполняет никакой реальной миграции (отсюда и «подделка») - это просто гарантирует, что метаданные ata в файлах .table соответствует текущему набору определений таблиц (и, следовательно, фактическая база данных, предполагая, что определения таблиц фактически соответствуют базе данных).

Если вы хотите, чтобы сделать процесс миграции базы данных, то вам необходимо убедиться, что у вас нет migrate_enabled=False в вызове DAL(), ни migrate=False в соответствующих db.define_table() вызовов. Если вы явно не установите для них значение false, миграции будут включены по умолчанию.

Всегда рекомендуется создать резервную копию базы данных перед выполнением миграции.

+0

Что будет лучшим решением для этого сейчас я не могу изменить свою базу данных – user1529780

+0

Что произойдет, если вы удалите файл fake_migrate_all = True и удалите файл .table из соответствующей таблицы, а затем сделаете запрос на запуск миграции? – Anthony

+0

это просто показать мне, что таблица уже существует ошибка – user1529780

Смежные вопросы