Не удалось инициализировать базу данных pee wee в памяти

После написания многих директив я решил использовать меньше области isolated. Несмотря на то, что это круто, и вы инкапсулируете данные и не пропустите утечку данных в родительскую область, это сильно ограничивает количество директив, которые вы можете использовать вместе. Итак,

Если директива, которую вы собираетесь писать, будет вести себя сама по себе, и вы не собираетесь делиться ею с другими директивами, идите в изолированную область . (например, компонент, с которым вы можете просто подключить его, с небольшой настройкой для конечного разработчика) (это становится очень сложным, когда вы пытаетесь написать подэлементы, которые имеют директивы внутри)

Если директива, re собирается писать собирается просто сделать dom манипуляции, которые не нуждаются в внутреннем состоянии области или явные изменения в сфере (в основном очень простые вещи); перейти на нет новой области . (например, ngShow, ngMouseHover, ngClick, ngRepeat)

Если директива, которую вы собираетесь писать, должна изменить некоторые элементы в родительской области, но также должна обрабатывать некоторые внутреннее состояние, перейти на новый охват ребенка . (например, ngController)

Обязательно проверьте исходный код для директив: https://github.com/angular/angular.js/tree/master/src/ng/ директива Это очень помогает в том, как думать о них

0
задан Asmox 20 March 2019 в 09:38
поделиться

1 ответ

Я нашел причину ошибки. Похоже, я забыл поставить foreign_key прагму:

>>> import peewee
>>> test_db = peewee.SqliteDatabase(':memory:', pragmas={'foreign_keys': 1})
import Entities
>>> models = [Entities.RouterSettings]
>>> test_db.bind(models, bind_refs=False, bind_backrefs=False)
>>> test_db.connect()
True
>>> test_db.create_tables(models)

Когда я ставлю pragmas={'foreign_keys': 1}, чего требует моя сущность, эта ошибка исчезает.

0
ответ дан Asmox 20 March 2019 в 09:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: