def main(argv=sys.argv): if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.drop_all(engine) Base.metadata.create_all(engine) with transaction.manager: model = User(name=u'admin', password=u'admin') DBSession.add(model) from jinja2.utils import generate_lorem_ipsum for id, article in enumerate(range(100), start=1): title = generate_lorem_ipsum( n=1, # Одно предложение html=False, # В виде обычного текста min=2, # Минимум 2 слова max=5 # Максимум 5 ) content = generate_lorem_ipsum() article = Article(**{'title': title, 'content': content}) DBSession.add(article)
def main(argv=sys.argv): from ..src import User, Address if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') Session.configure(bind=engine) BaseModel.metadata.create_all(engine) with transaction.manager: brendan = User(name='Brendan', age=18) Session.add(brendan) Session.flush() brendan_address = Address(city='Paris', owner_id=brendan.id) Session.add(brendan_address) Session.flush() john = User(name='John', age=19, best_friend_id=brendan.id) Session.add(john) Session.flush() antoine = User(name='Antoine', age=20) Session.add(antoine) Session.flush()
def sqlalchemy_teardown(context): transaction.abort() Session.remove() metadata.drop_all() Session.configure(bind=None) metadata.bind = None context.engine.dispose() context.sqlalchemy_patcher.stop()
def creator(): """ Create all registered models and connect to engine. """ engine = create_engine('sqlite://') BaseObject.metadata.create_all(engine) connection = engine.connect() Session.registry.clear() Session.configure(bind=connection) BaseObject.metadata.bind = engine return connection
def tearDown(self): transaction.abort() Session.remove() if self.create_tables: metadata.drop_all() Session.configure(bind=None) metadata.bind = None self.engine.dispose() self._sqlalchemy_patcher.stop() super(DatabaseTestCase, self).tearDown()
def includeme(config): """ Initialize the model for a Pyramid app. Activate this setup using ``config.include('multitenant_rls.models')``. """ settings = config.get_settings() engine = engine_from_config(settings) Session.configure(bind=engine) # use pyramid_tm to hook the transaction lifecycle to the request config.include('pyramid_tm')
def setUp(self): self.config = testing.setUp() from sqlalchemy import create_engine engine = create_engine('sqlite://') from .models import ( Base, MyModel, ) DBSession.configure(bind=engine) Base.metadata.create_all(engine) with transaction.manager: model = MyModel(name='one', value=55) DBSession.add(model)
def main(argv=sys.argv): if len(argv) != 2: usage(argv) config_uri = argv[1] setup_logging(config_uri) settings = get_appsettings(config_uri) engine = engine_from_config(settings, 'sqlalchemy.') Session.configure(bind=engine) migrate(bootstrap(config_uri)) logger.info('Drop and create tables') Base.metadata.drop_all(engine) Base.metadata.create_all(engine) with transaction.manager: preload_countries() preload_cities()
def main(argv=sys.argv): if len(argv) != 3: usage(argv) config_uri = argv[1] section = argv[2] setup_logging(config_uri) settings = get_appsettings(config_uri, section) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine) with transaction.manager: id, secret = create_client() print('client_id:', id) print('client_secret:', secret)
def main(argv=sys.argv): if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') Session.configure(bind=engine) Base.metadata.drop_all(engine) Base.metadata.create_all(engine) with transaction.manager: products = [Product(id=1, name='Capsule House'), Product(id=2, name='Electric Rice Cooker'), Product(id=3, name='Electric Rice Cooker'), Product(id=4, name='Silverstar 4'), Product(id=5, name='Hydrojet'), Product(id=6, name='Archeological Evacuation Robot'), Product(id=7, name='Time machine'), Product(id=8, name='Boat'), Product(id=14, name='Motorcycle'), Product(id=19, name='Small Pirate Submarine'), Product(id=21, name='Mines'), Product(id=22, name='Battle Information Building'), Product(id=23, name='Team Reception Building'), Product(id=29, name='Clothing Shop Building'), Product(id=30, name='Accessory Shop Building'), Product(id=36, name='Powersuit'), Product(id=39, name='Mix Shop Building'), Product(id=43, name='Messerschmitt KR'), Product(id=61, name='Airplane'), Product(id=67, name='Hoverbike'), Product(id=69, name='Powersuit'), Product(id=80, name='Submarine'), Product(id=82, name='Flying Vehicle'), Product(id=85, name='West City Police scooter'), Product(id=87, name='Jet-copter'), Product(id=88, name='Skill Shop Building'), Product(id=96, name='Spatiotemporal Delivery Service Building'), Product(id=103, name='Airplane'), Product(id=115, name='Airplane (4 passengers)'), Product(id=116, name='Hot Air Balloon'), Product(id=192, name='Airship'), Product(id=239, name='Large plane (King Castle)'), Product(id=240, name='Large plane'), Product(id=333, name='Penguin 333 fridge'), Product(id=339, name='Airplane'), Product(id=341, name='Flying Vehicle'), Product(id=462, name='Item Shop Building'), Product(id=576, name='VTOL Plane'), Product(id=673, name='Yellow Van'), Product(id=991, name='Airplane'), Product(id=1138, name='Spaceship'), Product(id=2031, name='Caps Fridge'), Product(id=2150, name='West City Taxi'), Product(id=2402, name='Great Saiyaman Watch'), ] cities = [City(name='Central City'), City(name='North City'), City(name='East City'), City(name='West City'), City(name='Orange Star City'), City(name='South City')] users = [] prices = [] for counter, city in enumerate(cities, start=1): users.append(User(id='{}[email protected]'.format(city.name.lower().split()[0]), city=city)) prices.append(Price(city=city, product=products[0], value=counter*10)) Session.add_all(products + cities + users + prices)
def main(argv=sys.argv): if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.drop_all(engine) Base.metadata.create_all(engine) with transaction.manager: DBSession.add_all([ User(UserName='******', UserPass='******'), User(UserName='******', UserPass='******'), Group(GroupName='123', VospName='123'), ])
def main(argv=sys.argv): if len(argv) != 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) # settings setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) # recreate database create_tables(DBSession) alembic_cfg = Config(config_uri) command.upgrade(alembic_cfg, "head") # add postgres extension dialect = engine.dialect.name if dialect == 'postgresql': if not add_extension(engine, "hstore", "uuid-ossp"): logger.warn("You have not SUPERUSER role for Postgres!") logger.warn("Extensions passed...") from ..includes.home.models.postgres import Base as BasePostgres from ..includes.catalog.models import Base as BaseCatalog BasePostgres.metadata.create_all(engine) BaseCatalog.metadata.create_all(engine) def add_fixtures(fixtures): for item in fixtures: fixture.add(**item) transaction.commit() # fill database add_fixtures(fixtures) add_user({'login': '******', 'password': '******', 'email': '*****@*****.**', 'name': u'Владимир', 'surname': u'Хонин', 'middlename': u'Андреевич'}) add_admin_permission() add_group_permissions()
def main(argv=sys.argv): if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.drop_all(engine) Base.metadata.create_all(engine) with transaction.manager: model = User( login = u'admin', password = u'1234qwer4321', date_of_registration = datetime.now() ) DBSession.add(model) model = Journal( name = u'AIP Conference Proceedings', publishing_country = u'USA' ) DBSession.add(model) model = University( name = u'Ural Federal University named after the first President of Russia B. N. Yeltsin', country = u'Russia', city = u'Yekaterinburg' ) DBSession.add(model) university = DBSession.query(University.id).\ filter(University.name == u'Ural Federal University named after the first President of Russia B. N. Yeltsin').all() model1 = Author( full_name = u'Шибаев Вячеслав Алексеевич', university_id = university[0][0] ) model2 = Author( full_name = u'Берестова Светлана Александрована', university_id = university[0][0] ) model3 = Author( full_name = u'Митюшов Евгений Александрович', university_id = university[0][0] ) model4 = Author( full_name = u'Хлебников Николай Александрович', university_id = university[0][0] ) DBSession.add_all([model1, model2, model3, model4]) journal = DBSession.query(Journal.id).\ filter(Journal.name == u'AIP Conference Proceedings').all() user = DBSession.query(User.id).\ filter(User.login == u'admin').all() model = Article( name = u'Mathematical modelling of the spatial network of bone implants obtained by 3D-prototyping', keywords = u'biomaterials, implants, 3D-printing', abstract = u''' In this paper, the mathematical model suitable for bone implants 3D-prototyping is proposed. The composite material with the spatial configuration of reinforcement with matrix of hydroxyapatite and titanium alloys fibers is considered. An octahedral cell is chosen as an elementary volume. The distribution of reinforcing fibers is described by textural parameters. Textural parameters are integrated characteristics that summarize information on the direction of reinforcing fibers and their volume fractions. Textural parameters, properties of matrix and reinforcing fibers allow calculating effective physical and mechanical properties of the composite material. The impact of height and width of the octahedral reinforcement cells on textural parameters of the composite material is investigated in this work. The impact of radius of fibers is also analyzed. It is shown that the composite becomes quasi-isotropic under certain geometrical parameters of cell. ''', file = 'VAShibaev.pdf', journal_id = journal[0][0], year_of_publishing = 2017, number_of_journal = 1, start_page = 92, end_page = 96, user_id = user[0][0] ) DBSession.add(model) article = DBSession.query(Article.id).\ filter(Article.name == u'Mathematical modelling of the spatial network of bone ' + u'implants obtained by 3D-prototyping').all() author1 = DBSession.query(Author.id).\ filter(Author.full_name == u'Шибаев Вячеслав Алексеевич').all() author2 = DBSession.query(Author.id).\ filter(Author.full_name == u'Берестова Светлана Александрована').all() author3 = DBSession.query(Author.id).\ filter(Author.full_name == u'Митюшов Евгений Александрович').all() author4 = DBSession.query(Author.id).\ filter(Author.full_name == u'Хлебников Николай Александрович').all() model1 = Article_Author( article_id = article[0][0], author_id = author1[0][0] ) model2 = Article_Author( article_id = article[0][0], author_id = author2[0][0] ) model3 = Article_Author( article_id = article[0][0], author_id = author3[0][0] ) model4 = Article_Author( article_id = article[0][0], author_id = author4[0][0] ) DBSession.add_all([model1, model2, model3, model4])
def setUp(self): self.config = testing.setUp() from sqlalchemy import create_engine engine = create_engine('sqlite://') DBSession.configure(bind=engine)
def setUpMigrate(): """ Runs migrations before each test """ engine = create_engine('sqlite://', echo=True) Session.configure(bind=engine) db_init(engine) db_upgrade(engine)
def initialize_sql(engine, settings): DBSession.configure(bind=engine) Base.metadata.bind = engine Base.metadata.create_all(engine)
def main(argv=sys.argv): if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.drop_all(engine) Base.metadata.create_all(engine) with transaction.manager: first_day = Event( name="День первый", description= "День первый в Уральском федеральном — фестиваль для первокурсников " "и студентов вуза, где каждый найдет что-нибудь себе по душе: " "нескучные лекции, увлекательные мастер-классы, фудкорт, живую " "музыку и, конечно же, ярмарку студенческих возможностей. " "Первокурсникам расскажут о спортивной, творческой, научной, международной " "и общественной деятельности университета. За выполнение заданий участники " "ярмарки получат призы с символикой УрФУ.", promo= "День первый – общеуниверситетское мероприятие для первокурсников, помогающее " "освоится в Университете и найти занятие по душе.", promo_img="../static/events/first_day.jpg", cost=25000, email="*****@*****.**", phone="+78005552545", contact_face="Студент УрФУ") graduation = Event( name="Выпускной", description= "Выпускной УрФУ — второе главное событие в жизни студента. " "Не передать словами атмосферу всеобщего праздника, " "когда тысячи студентов на главной университетской площади " "получают долгожданный диплом под ярким июньским небом " "в мантии выпускника и конфедератке.\n\n" "Союз студентов УрФУ принимает участие в организации " "первых двух этапов и полностью занимается третьим, " "самым лучшим, не побоимся этого слова, этапом.\n\n" "На Выпускном уже выступали: Елка, Звери, Пицца, Градусы, " "Мальбэк&Сюзанна, и это еще не конец списка.", promo= "Главный праздник выпускников и всего университета под музыкальное " "сопровождение любимых артистов и музыкантов.", promo_img="../static/events/graduation.jpg", cost=50000, email="*****@*****.**", phone="+78005552545", contact_face="Асалик Партов") eco_lecture = Event( name="Экологический тренинг", description= "EcoSpace - новый образовательный проект, где в неформальной обстановке " "можно послушать о важных и актуальных вещах. Проект проводится при поддержке " "Эндаумент-фонда УрФУ. Все вырученные средства идут на развитие образования " "и науки в нашем университете.", promo= "EcoSpace — проект Первого направления работы Союза студентов УрФУ, " "который занимается экологизацией Уральского федерального университета.", promo_img="../static/events/eco_lecture.jpg", cost=5000, email="*****@*****.**", phone="+78005552545", contact_face="Грета Тунберг") tourism_day = Event( name="День туризма", description= "Welcome центр — это студенческий туристический кластер Уральского " "федерального университета. В структуру центра входят туристические " "и развлекательные студенческие организации УрФУ, такие как: " "«День культуры», «EcoSpace», «Твой weekend», «TRIP to TRIP», «САПКИНУ, " "«Everest», турклубы «Рифей» и «Романтик», а также РЖД бонус.\n\n" "Проводит крупнейший турестический форум в день туризма.\n\n" "По вопросам сотрудничества писать на почту.", promo="Туризм есть всё и всё есть туризм.", promo_img="../static/events/tourism_day.jpg", cost=15000, email="*****@*****.**", phone="+78005552545", contact_face="Турист Михайлович") brain_storm = Event( name="Хинди", description= "Уже совсем скоро, 12 марта, в 18:30 состоится игра «Хинди»💥\n\n" "«Что это?» — спросите вы. Это старая добрая игра по формату «Катаканы»!\n\n" "Известная интеллектуальная игра, которая позволит каждому желающему " "проверить свои знания в кинематографе 📽\n\n" "Она особо популярна среди киноманов. Также помимо известных фильмов " "в игре задействованы интересные истории, связанные с популярными актерами, " "и саундтреки к культовым фильмам.\n\nПодготовка к игре — отличный повод " "собраться с друзьями и провести вечер, пересматривая любимые фильмы 🍿\n\n" "На этот раз вопросы игры будут привязаны к прошедшей премии «Оскар».", promo= "Интеллектуальная игра от лучшего проекта УрФУ в стиле легендарной Мозгобойни!", promo_img="../static/events/brain_storm.jpg", cost=8000, email="*****@*****.**", phone="+78005552545", contact_face="Nowhere man") donor_day = Event( name="День донора", description="Забота о своём здоровье — это очень важно, " "но ещё важнее не забывать помогать нуждающимся!\n\n" "21 октября у всех желающих будет возможность присоединиться " "к акции «День донора» от Здоровья в УрФУ\n\nПринять участие " "могут как первичные доноры, так и вторичные! Кроме того, " "для вашего удобства будет организован автобус, который отвезёт до " "пункта сбора крови и обратно!\n\nСбор и отъезд будет осуществляться " "по адресу ул. Мира, 17! Время сбора участников — 8:10!", promo="Если ты хотел стать донором, но не успел попасть, " "то у тебя появился замечательный шанс!❤", promo_img="../static/events/donor_day.jpg", cost=5000, email="*****@*****.**", phone="+79203458753", contact_face="Донор") DBSession.add(first_day) DBSession.add(graduation) DBSession.add(eco_lecture) DBSession.add(tourism_day) DBSession.add(brain_storm) DBSession.add(donor_day) everest = Project( name="EVEREST", description="Everest — проект Welcome центра УрФУ, объединяющий не " "только студентов университета, но и интеллектуальных, интересных, " "веселых людей, которые любят с пользой проводить время.\n\n" "Тебя ждет новый формат игр, ставших культовыми. Каждая игра проекта " "приурочена к какому-либо событию и нацелена на командообразование и " "повышение уровня знаний в определенных областях жизнедеятельности.", promo= "EVEREST - студенческий интеллектуальный проект, проводящий тематические игры!", promo_img="../static/projects/everest.jpg", email="*****@*****.**", phone="+78005552545", contact_face="Laura") eco = Project( name="Эко фест", description= "EcoSpace — проект Первого направления работы Союза студентов УрФУ, " "который занимается экологизацией Уральского федерального университета.\n\n" "К настоящему моменту проект уже проделал огромную работу по созданию условий " "для экологичного образа жизни: введен раздельный сбор мусора в ГУКе и установлены " "контейнеры для сбора батареек в каждом институте.", promo= "EcoSpace — проект Первого направления работы Союза студентов УрФУ, " "который занимается экологизацией Уральского федерального университета.", promo_img="../static/projects/eco.jpg", email="*****@*****.**", phone="+78005552545", contact_face="Tanya") health = Project( name="Проект Здоровье", description= "Несколько раз в год у студентов есть возможность пройти бесплатное " "и анонимное тестирование на ВИЧ, а также пройти комплексное обследование. " "Проект помогает заботиться не только о своем здоровье, но и о " "здоровье окружающих, в связи с этим дважды в год проводится «День донора». " "Кроме того, для просвещения студентов в здоровый образ жизни мы организуем " "«Лекторий здорового человека», где каждый может узнать для себя много нового " "и полезного, а поддерживать тело в хорошей физической форме помогает " "еженедельное мероприятие «Спортфест с председателем».", promo="ЗДОРОВЬЕ УрФУ\nВ здоровом теле здоровый дух!", promo_img="../static/projects/health.jpg", email="*****@*****.**", phone="103", contact_face="Yana") weekend = Project( name="Твой Weekend", description="Зачем ломать голову о том, как провести свой выходной, " "если есть Твой WEEKEND — проект Союза студентов, являющийся " "частью Welcome центр УрФУ.\n\n" "Благодаря этому проекту ты можешь посетить премьерный " "показ ожидаемого фильма, сходить в музей, посетить выставку " "или даже прыгнуть с парашютом.", promo="Позволь спланировать Твой WEEKEND со вкусом, " "обширной программой и неподдельными эмоциями.", promo_img="../static/projects/weekend.jpg", email="*****@*****.**", phone="88007558686", contact_face="Maria") DBSession.add(everest) DBSession.add(eco) DBSession.add(health) DBSession.add(weekend) first_order = Order(name="EltsynCentre", phone="555", email="*****@*****.**", contact_face="Boris", event=1, date=datetime.date(year=2021, month=2, day=15), time=datetime.time(hour=19, minute=30), address="Бориса Ельцина 5", count_participants=150) second_order = Order(name="Maria", phone="555", email="*****@*****.**", contact_face="Maria", event=2, date=datetime.date(year=2021, month=1, day=2), time=datetime.time(hour=7, minute=59), address="Мира 19", count_participants=10000, note="Хотим яркий выпускной!") DBSession.add(first_order) DBSession.add(second_order)